CRM后端六模块代码生成完毕
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.OaBusinessVo;
|
||||
import com.ruoyi.oa.domain.bo.OaBusinessBo;
|
||||
import com.ruoyi.oa.service.IOaBusinessService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* CRM 商机
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/business")
|
||||
public class OaBusinessController extends BaseController {
|
||||
|
||||
private final IOaBusinessService iOaBusinessService;
|
||||
|
||||
/**
|
||||
* 查询CRM 商机列表
|
||||
*/
|
||||
@SaCheckPermission("oa:business:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<OaBusinessVo> list(OaBusinessBo bo, PageQuery pageQuery) {
|
||||
return iOaBusinessService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出CRM 商机列表
|
||||
*/
|
||||
@SaCheckPermission("oa:business:export")
|
||||
@Log(title = "CRM 商机", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(OaBusinessBo bo, HttpServletResponse response) {
|
||||
List<OaBusinessVo> list = iOaBusinessService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "CRM 商机", OaBusinessVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取CRM 商机详细信息
|
||||
*
|
||||
* @param businessId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:business:query")
|
||||
@GetMapping("/{businessId}")
|
||||
public R<OaBusinessVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long businessId) {
|
||||
return R.ok(iOaBusinessService.queryById(businessId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增CRM 商机
|
||||
*/
|
||||
@SaCheckPermission("oa:business:add")
|
||||
@Log(title = "CRM 商机", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaBusinessBo bo) {
|
||||
return toAjax(iOaBusinessService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改CRM 商机
|
||||
*/
|
||||
@SaCheckPermission("oa:business:edit")
|
||||
@Log(title = "CRM 商机", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaBusinessBo bo) {
|
||||
return toAjax(iOaBusinessService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除CRM 商机
|
||||
*
|
||||
* @param businessIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:business:remove")
|
||||
@Log(title = "CRM 商机", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{businessIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] businessIds) {
|
||||
return toAjax(iOaBusinessService.deleteWithValidByIds(Arrays.asList(businessIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.OaBusinessProductVo;
|
||||
import com.ruoyi.oa.domain.bo.OaBusinessProductBo;
|
||||
import com.ruoyi.oa.service.IOaBusinessProductService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* CRM 商机产品关联
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/businessProduct")
|
||||
public class OaBusinessProductController extends BaseController {
|
||||
|
||||
private final IOaBusinessProductService iOaBusinessProductService;
|
||||
|
||||
/**
|
||||
* 查询CRM 商机产品关联列表
|
||||
*/
|
||||
@SaCheckPermission("oa:businessProduct:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<OaBusinessProductVo> list(OaBusinessProductBo bo, PageQuery pageQuery) {
|
||||
return iOaBusinessProductService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出CRM 商机产品关联列表
|
||||
*/
|
||||
@SaCheckPermission("oa:businessProduct:export")
|
||||
@Log(title = "CRM 商机产品关联", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(OaBusinessProductBo bo, HttpServletResponse response) {
|
||||
List<OaBusinessProductVo> list = iOaBusinessProductService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "CRM 商机产品关联", OaBusinessProductVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取CRM 商机产品关联详细信息
|
||||
*
|
||||
* @param businessProductId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:businessProduct:query")
|
||||
@GetMapping("/{businessProductId}")
|
||||
public R<OaBusinessProductVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long businessProductId) {
|
||||
return R.ok(iOaBusinessProductService.queryById(businessProductId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增CRM 商机产品关联
|
||||
*/
|
||||
@SaCheckPermission("oa:businessProduct:add")
|
||||
@Log(title = "CRM 商机产品关联", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaBusinessProductBo bo) {
|
||||
return toAjax(iOaBusinessProductService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改CRM 商机产品关联
|
||||
*/
|
||||
@SaCheckPermission("oa:businessProduct:edit")
|
||||
@Log(title = "CRM 商机产品关联", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaBusinessProductBo bo) {
|
||||
return toAjax(iOaBusinessProductService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除CRM 商机产品关联
|
||||
*
|
||||
* @param businessProductIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:businessProduct:remove")
|
||||
@Log(title = "CRM 商机产品关联", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{businessProductIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] businessProductIds) {
|
||||
return toAjax(iOaBusinessProductService.deleteWithValidByIds(Arrays.asList(businessProductIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.OaClueVo;
|
||||
import com.ruoyi.oa.domain.bo.OaClueBo;
|
||||
import com.ruoyi.oa.service.IOaClueService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* CRM 线索
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/clue")
|
||||
public class OaClueController extends BaseController {
|
||||
|
||||
private final IOaClueService iOaClueService;
|
||||
|
||||
/**
|
||||
* 查询CRM 线索列表
|
||||
*/
|
||||
@SaCheckPermission("oa:clue:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<OaClueVo> list(OaClueBo bo, PageQuery pageQuery) {
|
||||
return iOaClueService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出CRM 线索列表
|
||||
*/
|
||||
@SaCheckPermission("oa:clue:export")
|
||||
@Log(title = "CRM 线索", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(OaClueBo bo, HttpServletResponse response) {
|
||||
List<OaClueVo> list = iOaClueService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "CRM 线索", OaClueVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取CRM 线索详细信息
|
||||
*
|
||||
* @param clueId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:clue:query")
|
||||
@GetMapping("/{clueId}")
|
||||
public R<OaClueVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long clueId) {
|
||||
return R.ok(iOaClueService.queryById(clueId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增CRM 线索
|
||||
*/
|
||||
@SaCheckPermission("oa:clue:add")
|
||||
@Log(title = "CRM 线索", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaClueBo bo) {
|
||||
return toAjax(iOaClueService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改CRM 线索
|
||||
*/
|
||||
@SaCheckPermission("oa:clue:edit")
|
||||
@Log(title = "CRM 线索", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaClueBo bo) {
|
||||
return toAjax(iOaClueService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除CRM 线索
|
||||
*
|
||||
* @param clueIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:clue:remove")
|
||||
@Log(title = "CRM 线索", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{clueIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] clueIds) {
|
||||
return toAjax(iOaClueService.deleteWithValidByIds(Arrays.asList(clueIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.OaCustomerVo;
|
||||
import com.ruoyi.oa.domain.bo.OaCustomerBo;
|
||||
import com.ruoyi.oa.service.IOaCustomerService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* CRM 客户
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/customer")
|
||||
public class OaCustomerController extends BaseController {
|
||||
|
||||
private final IOaCustomerService iOaCustomerService;
|
||||
|
||||
/**
|
||||
* 查询CRM 客户列表
|
||||
*/
|
||||
@SaCheckPermission("oa:customer:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<OaCustomerVo> list(OaCustomerBo bo, PageQuery pageQuery) {
|
||||
return iOaCustomerService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出CRM 客户列表
|
||||
*/
|
||||
@SaCheckPermission("oa:customer:export")
|
||||
@Log(title = "CRM 客户", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(OaCustomerBo bo, HttpServletResponse response) {
|
||||
List<OaCustomerVo> list = iOaCustomerService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "CRM 客户", OaCustomerVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取CRM 客户详细信息
|
||||
*
|
||||
* @param customerId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:customer:query")
|
||||
@GetMapping("/{customerId}")
|
||||
public R<OaCustomerVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long customerId) {
|
||||
return R.ok(iOaCustomerService.queryById(customerId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增CRM 客户
|
||||
*/
|
||||
@SaCheckPermission("oa:customer:add")
|
||||
@Log(title = "CRM 客户", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaCustomerBo bo) {
|
||||
return toAjax(iOaCustomerService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改CRM 客户
|
||||
*/
|
||||
@SaCheckPermission("oa:customer:edit")
|
||||
@Log(title = "CRM 客户", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaCustomerBo bo) {
|
||||
return toAjax(iOaCustomerService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除CRM 客户
|
||||
*
|
||||
* @param customerIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:customer:remove")
|
||||
@Log(title = "CRM 客户", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{customerIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] customerIds) {
|
||||
return toAjax(iOaCustomerService.deleteWithValidByIds(Arrays.asList(customerIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.OaFollowUpRecordVo;
|
||||
import com.ruoyi.oa.domain.bo.OaFollowUpRecordBo;
|
||||
import com.ruoyi.oa.service.IOaFollowUpRecordService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* CRM 跟进记录
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/system/followUpRecord")
|
||||
public class OaFollowUpRecordController extends BaseController {
|
||||
|
||||
private final IOaFollowUpRecordService iOaFollowUpRecordService;
|
||||
|
||||
/**
|
||||
* 查询CRM 跟进记录列表
|
||||
*/
|
||||
@SaCheckPermission("system:followUpRecord:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<OaFollowUpRecordVo> list(OaFollowUpRecordBo bo, PageQuery pageQuery) {
|
||||
return iOaFollowUpRecordService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出CRM 跟进记录列表
|
||||
*/
|
||||
@SaCheckPermission("system:followUpRecord:export")
|
||||
@Log(title = "CRM 跟进记录", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(OaFollowUpRecordBo bo, HttpServletResponse response) {
|
||||
List<OaFollowUpRecordVo> list = iOaFollowUpRecordService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "CRM 跟进记录", OaFollowUpRecordVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取CRM 跟进记录详细信息
|
||||
*
|
||||
* @param followId 主键
|
||||
*/
|
||||
@SaCheckPermission("system:followUpRecord:query")
|
||||
@GetMapping("/{followId}")
|
||||
public R<OaFollowUpRecordVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long followId) {
|
||||
return R.ok(iOaFollowUpRecordService.queryById(followId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增CRM 跟进记录
|
||||
*/
|
||||
@SaCheckPermission("system:followUpRecord:add")
|
||||
@Log(title = "CRM 跟进记录", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaFollowUpRecordBo bo) {
|
||||
return toAjax(iOaFollowUpRecordService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改CRM 跟进记录
|
||||
*/
|
||||
@SaCheckPermission("system:followUpRecord:edit")
|
||||
@Log(title = "CRM 跟进记录", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaFollowUpRecordBo bo) {
|
||||
return toAjax(iOaFollowUpRecordService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除CRM 跟进记录
|
||||
*
|
||||
* @param followIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("system:followUpRecord:remove")
|
||||
@Log(title = "CRM 跟进记录", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{followIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] followIds) {
|
||||
return toAjax(iOaFollowUpRecordService.deleteWithValidByIds(Arrays.asList(followIds), true));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.ruoyi.oa.controller;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.core.validate.QueryGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.oa.domain.vo.OaProductVo;
|
||||
import com.ruoyi.oa.domain.bo.OaProductBo;
|
||||
import com.ruoyi.oa.service.IOaProductService;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* CRM 产品
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-03-12
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/oa/product")
|
||||
public class OaProductController extends BaseController {
|
||||
|
||||
private final IOaProductService iOaProductService;
|
||||
|
||||
/**
|
||||
* 查询CRM 产品列表
|
||||
*/
|
||||
@SaCheckPermission("oa:product:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<OaProductVo> list(OaProductBo bo, PageQuery pageQuery) {
|
||||
return iOaProductService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出CRM 产品列表
|
||||
*/
|
||||
@SaCheckPermission("oa:product:export")
|
||||
@Log(title = "CRM 产品", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(OaProductBo bo, HttpServletResponse response) {
|
||||
List<OaProductVo> list = iOaProductService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "CRM 产品", OaProductVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取CRM 产品详细信息
|
||||
*
|
||||
* @param productId 主键
|
||||
*/
|
||||
@SaCheckPermission("oa:product:query")
|
||||
@GetMapping("/{productId}")
|
||||
public R<OaProductVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long productId) {
|
||||
return R.ok(iOaProductService.queryById(productId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增CRM 产品
|
||||
*/
|
||||
@SaCheckPermission("oa:product:add")
|
||||
@Log(title = "CRM 产品", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody OaProductBo bo) {
|
||||
return toAjax(iOaProductService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改CRM 产品
|
||||
*/
|
||||
@SaCheckPermission("oa:product:edit")
|
||||
@Log(title = "CRM 产品", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody OaProductBo bo) {
|
||||
return toAjax(iOaProductService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除CRM 产品
|
||||
*
|
||||
* @param productIds 主键串
|
||||
*/
|
||||
@SaCheckPermission("oa:product:remove")
|
||||
@Log(title = "CRM 产品", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{productIds}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] productIds) {
|
||||
return toAjax(iOaProductService.deleteWithValidByIds(Arrays.asList(productIds), true));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user