|
@@ -11,6 +11,8 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO;
|
|
import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService;
|
|
import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService;
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
|
|
+import cn.iocoder.yudao.module.system.api.logger.OperateLogApi;
|
|
|
|
+import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO;
|
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
@@ -36,6 +38,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSetByFlatMap;
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSetByFlatMap;
|
|
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
|
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
|
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
|
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
|
|
|
+import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.CRM_CUSTOMER;
|
|
|
|
|
|
@Tag(name = "管理后台 - CRM 客户")
|
|
@Tag(name = "管理后台 - CRM 客户")
|
|
@RestController
|
|
@RestController
|
|
@@ -50,6 +53,8 @@ public class CrmCustomerController {
|
|
private DeptApi deptApi;
|
|
private DeptApi deptApi;
|
|
@Resource
|
|
@Resource
|
|
private AdminUserApi adminUserApi;
|
|
private AdminUserApi adminUserApi;
|
|
|
|
+ @Resource
|
|
|
|
+ private OperateLogApi operateLogApi;
|
|
|
|
|
|
@PostMapping("/create")
|
|
@PostMapping("/create")
|
|
@Operation(summary = "创建客户")
|
|
@Operation(summary = "创建客户")
|
|
@@ -130,6 +135,21 @@ public class CrmCustomerController {
|
|
return success(true);
|
|
return success(true);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @GetMapping("/operate-log")
|
|
|
|
+ @Operation(summary = "获得客户操作日志")
|
|
|
|
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
|
|
|
|
+ @PreAuthorize("@ss.hasPermission('crm:customer:query')")
|
|
|
|
+ public CommonResult<List<OperateLogV2RespDTO>> getOperateLog(@RequestParam("id") Long id) {
|
|
|
|
+ // 1. 获取客户
|
|
|
|
+ CrmCustomerDO customer = customerService.getCustomer(id);
|
|
|
|
+ if (customer == null) {
|
|
|
|
+ return success(null);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 2. 获取操作日志
|
|
|
|
+ return success(operateLogApi.getOperateLogByModuleAndBizId(CRM_CUSTOMER, id));
|
|
|
|
+ }
|
|
|
|
+
|
|
// TODO @Joey:单独建一个属于自己业务的 ReqVO;因为前端如果模拟请求,是不是可以更新其它字段了;
|
|
// TODO @Joey:单独建一个属于自己业务的 ReqVO;因为前端如果模拟请求,是不是可以更新其它字段了;
|
|
@PutMapping("/lock")
|
|
@PutMapping("/lock")
|
|
@Operation(summary = "锁定/解锁客户")
|
|
@Operation(summary = "锁定/解锁客户")
|