Commit f7d41186e48bb1ec32bb643885ae9be826987f61

Authored by puhui999
1 parent 206899bf

CRM: 获取模块操作日志接口抽离

yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contact/CrmContactController.java
@@ -17,9 +17,6 @@ import cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants; @@ -17,9 +17,6 @@ import cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants;
17 import cn.iocoder.yudao.module.crm.service.contact.CrmContactBusinessService; 17 import cn.iocoder.yudao.module.crm.service.contact.CrmContactBusinessService;
18 import cn.iocoder.yudao.module.crm.service.contact.CrmContactService; 18 import cn.iocoder.yudao.module.crm.service.contact.CrmContactService;
19 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; 19 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService;
20 -import cn.iocoder.yudao.module.system.api.logger.OperateLogApi;  
21 -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO;  
22 -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO;  
23 import cn.iocoder.yudao.module.system.api.user.AdminUserApi; 20 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
24 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; 21 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
25 import com.google.common.collect.Lists; 22 import com.google.common.collect.Lists;
@@ -46,7 +43,6 @@ import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; @@ -46,7 +43,6 @@ import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;
46 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; 43 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
47 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; 44 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
48 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; 45 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
49 -import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.CRM_CONTACT_TYPE;  
50 46
51 @Tag(name = "管理后台 - CRM 联系人") 47 @Tag(name = "管理后台 - CRM 联系人")
52 @RestController 48 @RestController
@@ -64,8 +60,6 @@ public class CrmContactController { @@ -64,8 +60,6 @@ public class CrmContactController {
64 60
65 @Resource 61 @Resource
66 private AdminUserApi adminUserApi; 62 private AdminUserApi adminUserApi;
67 - @Resource  
68 - private OperateLogApi operateLogApi;  
69 63
70 @PostMapping("/create") 64 @PostMapping("/create")
71 @Operation(summary = "创建联系人") 65 @Operation(summary = "创建联系人")
@@ -158,17 +152,6 @@ public class CrmContactController { @@ -158,17 +152,6 @@ public class CrmContactController {
158 buildContactDetailPage(pageResult).getList()); 152 buildContactDetailPage(pageResult).getList());
159 } 153 }
160 154
161 - @GetMapping("/operate-log-page")  
162 - @Operation(summary = "获得客户操作日志")  
163 - @PreAuthorize("@ss.hasPermission('crm:customer:query')")  
164 - public CommonResult<PageResult<OperateLogV2RespDTO>> getCustomerOperateLog(@RequestParam("bizId") Long bizId) {  
165 - OperateLogV2PageReqDTO reqVO = new OperateLogV2PageReqDTO();  
166 - reqVO.setPageSize(PAGE_SIZE_NONE); // 不分页  
167 - reqVO.setBizType(CRM_CONTACT_TYPE);  
168 - reqVO.setBizId(bizId);  
169 - return success(operateLogApi.getOperateLogPage(BeanUtils.toBean(reqVO, OperateLogV2PageReqDTO.class)));  
170 - }  
171 -  
172 /** 155 /**
173 * 构建详细的联系人分页结果 156 * 构建详细的联系人分页结果
174 * 157 *
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerController.java
@@ -17,9 +17,6 @@ import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerPoolConfigService @@ -17,9 +17,6 @@ import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerPoolConfigService
17 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService; 17 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService;
18 import cn.iocoder.yudao.module.system.api.dept.DeptApi; 18 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
19 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; 19 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
20 -import cn.iocoder.yudao.module.system.api.logger.OperateLogApi;  
21 -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO;  
22 -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO;  
23 import cn.iocoder.yudao.module.system.api.user.AdminUserApi; 20 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
24 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; 21 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
25 import io.swagger.v3.oas.annotations.Operation; 22 import io.swagger.v3.oas.annotations.Operation;
@@ -44,7 +41,6 @@ import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE; @@ -44,7 +41,6 @@ import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;
44 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; 41 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
45 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; 42 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
46 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; 43 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
47 -import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.CRM_CUSTOMER_TYPE;  
48 44
49 @Tag(name = "管理后台 - CRM 客户") 45 @Tag(name = "管理后台 - CRM 客户")
50 @RestController 46 @RestController
@@ -60,8 +56,7 @@ public class CrmCustomerController { @@ -60,8 +56,7 @@ public class CrmCustomerController {
60 private DeptApi deptApi; 56 private DeptApi deptApi;
61 @Resource 57 @Resource
62 private AdminUserApi adminUserApi; 58 private AdminUserApi adminUserApi;
63 - @Resource  
64 - private OperateLogApi operateLogApi; 59 +
65 60
66 @PostMapping("/create") 61 @PostMapping("/create")
67 @Operation(summary = "创建客户") 62 @Operation(summary = "创建客户")
@@ -182,19 +177,6 @@ public class CrmCustomerController { @@ -182,19 +177,6 @@ public class CrmCustomerController {
182 return success(true); 177 return success(true);
183 } 178 }
184 179
185 - // TODO @puhui999:要不搞个通用的 CrmOperateLogController,之后所有业务都调用它?  
186 - @GetMapping("/operate-log-page")  
187 - @Operation(summary = "获得客户操作日志")  
188 - @Parameter(name = "id", description = "客户编号", required = true)  
189 - @PreAuthorize("@ss.hasPermission('crm:customer:query')")  
190 - public CommonResult<PageResult<OperateLogV2RespDTO>> getCustomerOperateLog(@RequestParam("id") Long id) {  
191 - OperateLogV2PageReqDTO reqDTO = new OperateLogV2PageReqDTO();  
192 - reqDTO.setPageSize(PAGE_SIZE_NONE); // 不分页  
193 - reqDTO.setBizType(CRM_CUSTOMER_TYPE);  
194 - reqDTO.setBizId(id);  
195 - return success(operateLogApi.getOperateLogPage(reqDTO));  
196 - }  
197 -  
198 @PutMapping("/lock") 180 @PutMapping("/lock")
199 @Operation(summary = "锁定/解锁客户") 181 @Operation(summary = "锁定/解锁客户")
200 @PreAuthorize("@ss.hasPermission('crm:customer:update')") 182 @PreAuthorize("@ss.hasPermission('crm:customer:update')")
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/operatelog/CrmOperateLogController.java 0 → 100644
  1 +package cn.iocoder.yudao.module.crm.controller.admin.operatelog;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.CommonResult;
  4 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  5 +import cn.iocoder.yudao.module.crm.controller.admin.operatelog.vo.CrmOperateLogPageReqVO;
  6 +import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum;
  7 +import cn.iocoder.yudao.module.system.api.logger.OperateLogApi;
  8 +import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO;
  9 +import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO;
  10 +import io.swagger.v3.oas.annotations.Operation;
  11 +import io.swagger.v3.oas.annotations.Parameter;
  12 +import io.swagger.v3.oas.annotations.tags.Tag;
  13 +import jakarta.annotation.Resource;
  14 +import jakarta.validation.Valid;
  15 +import org.springframework.security.access.prepost.PreAuthorize;
  16 +import org.springframework.validation.annotation.Validated;
  17 +import org.springframework.web.bind.annotation.GetMapping;
  18 +import org.springframework.web.bind.annotation.RequestMapping;
  19 +import org.springframework.web.bind.annotation.RestController;
  20 +
  21 +import java.util.HashMap;
  22 +import java.util.Map;
  23 +
  24 +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
  25 +import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;
  26 +import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.*;
  27 +
  28 +@Tag(name = "管理后台 - 操作日志")
  29 +@RestController
  30 +@RequestMapping("/crm/operate-log")
  31 +@Validated
  32 +public class CrmOperateLogController {
  33 +
  34 + @Resource
  35 + private OperateLogApi operateLogApi;
  36 +
  37 + private static final Map<Integer, String> BIZ_TYPE_MAP = new HashMap<>();
  38 +
  39 + static {
  40 + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_LEADS.getType(), CRM_LEADS_TYPE);
  41 + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_CUSTOMER.getType(), CRM_CUSTOMER_TYPE);
  42 + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_CONTACT.getType(), CRM_CONTACT_TYPE);
  43 + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_BUSINESS.getType(), CRM_BUSINESS_TYPE);
  44 + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_CONTRACT.getType(), CRM_CONTRACT_TYPE);
  45 + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_PRODUCT.getType(), CRM_PRODUCT_TYPE);
  46 + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_RECEIVABLE.getType(), CRM_RECEIVABLE_TYPE);
  47 + BIZ_TYPE_MAP.put(CrmBizTypeEnum.CRM_RECEIVABLE_PLAN.getType(), CRM_RECEIVABLE_PLAN_TYPE);
  48 + }
  49 +
  50 + @GetMapping("/page")
  51 + @Operation(summary = "获得操作日志")
  52 + @Parameter(name = "id", description = "客户编号", required = true)
  53 + @PreAuthorize("@ss.hasPermission('crm:customer:query')")
  54 + public CommonResult<PageResult<OperateLogV2RespDTO>> getCustomerOperateLog(@Valid CrmOperateLogPageReqVO pageReqVO) {
  55 + OperateLogV2PageReqDTO reqDTO = new OperateLogV2PageReqDTO();
  56 + reqDTO.setPageSize(PAGE_SIZE_NONE); // 默认不分页,需要分页需注释
  57 + reqDTO.setBizType(BIZ_TYPE_MAP.get(pageReqVO.getBizType()));
  58 + reqDTO.setBizId(pageReqVO.getBizId());
  59 + return success(operateLogApi.getOperateLogPage(reqDTO));
  60 + }
  61 +
  62 +}
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/operatelog/vo/CrmOperateLogPageReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.crm.controller.admin.operatelog.vo;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.PageParam;
  4 +import cn.iocoder.yudao.framework.common.validation.InEnum;
  5 +import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum;
  6 +import io.swagger.v3.oas.annotations.media.Schema;
  7 +import jakarta.validation.constraints.NotNull;
  8 +import lombok.Data;
  9 +import lombok.EqualsAndHashCode;
  10 +import lombok.ToString;
  11 +
  12 +@Schema(description = "管理后台 - 跟进记录分页 Request VO")
  13 +@Data
  14 +@EqualsAndHashCode(callSuper = true)
  15 +@ToString(callSuper = true)
  16 +public class CrmOperateLogPageReqVO extends PageParam {
  17 +
  18 + @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
  19 + @InEnum(CrmBizTypeEnum.class)
  20 + @NotNull(message = "数据类型不能为空")
  21 + private Integer bizType;
  22 +
  23 + @Schema(description = "数据编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
  24 + @NotNull(message = "数据编号不能为空")
  25 + private Long bizId;
  26 +
  27 +}
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/permission/CrmPermissionController.java
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.permission; @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.permission;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 5 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  6 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionCreateReqVO; 7 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionCreateReqVO;
7 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; 8 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO;
8 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; 9 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO;
@@ -11,6 +12,7 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; @@ -11,6 +12,7 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO;
11 import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum; 12 import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum;
12 import cn.iocoder.yudao.module.crm.framework.permission.core.annotations.CrmPermission; 13 import cn.iocoder.yudao.module.crm.framework.permission.core.annotations.CrmPermission;
13 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService; 14 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService;
  15 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
14 import cn.iocoder.yudao.module.system.api.dept.DeptApi; 16 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
15 import cn.iocoder.yudao.module.system.api.dept.PostApi; 17 import cn.iocoder.yudao.module.system.api.dept.PostApi;
16 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; 18 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
@@ -55,7 +57,7 @@ public class CrmPermissionController { @@ -55,7 +57,7 @@ public class CrmPermissionController {
55 @PreAuthorize("@ss.hasPermission('crm:permission:create')") 57 @PreAuthorize("@ss.hasPermission('crm:permission:create')")
56 @CrmPermission(bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId", level = CrmPermissionLevelEnum.OWNER) 58 @CrmPermission(bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId", level = CrmPermissionLevelEnum.OWNER)
57 public CommonResult<Boolean> addPermission(@Valid @RequestBody CrmPermissionCreateReqVO reqVO) { 59 public CommonResult<Boolean> addPermission(@Valid @RequestBody CrmPermissionCreateReqVO reqVO) {
58 - permissionService.createPermission(CrmPermissionConvert.INSTANCE.convert(reqVO)); 60 + permissionService.createPermission(BeanUtils.toBean(reqVO, CrmPermissionCreateReqBO.class));
59 return success(true); 61 return success(true);
60 } 62 }
61 63
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/product/CrmProductController.java
@@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; @@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 import cn.iocoder.yudao.framework.common.pojo.PageParam; 5 import cn.iocoder.yudao.framework.common.pojo.PageParam;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 import cn.iocoder.yudao.framework.common.util.collection.SetUtils; 7 import cn.iocoder.yudao.framework.common.util.collection.SetUtils;
8 -import cn.iocoder.yudao.framework.common.util.object.BeanUtils;  
9 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 8 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
10 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; 9 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
11 import cn.iocoder.yudao.module.crm.controller.admin.product.vo.product.CrmProductPageReqVO; 10 import cn.iocoder.yudao.module.crm.controller.admin.product.vo.product.CrmProductPageReqVO;
@@ -16,9 +15,6 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductCategoryDO; @@ -16,9 +15,6 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductCategoryDO;
16 import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductDO; 15 import cn.iocoder.yudao.module.crm.dal.dataobject.product.CrmProductDO;
17 import cn.iocoder.yudao.module.crm.service.product.CrmProductCategoryService; 16 import cn.iocoder.yudao.module.crm.service.product.CrmProductCategoryService;
18 import cn.iocoder.yudao.module.crm.service.product.CrmProductService; 17 import cn.iocoder.yudao.module.crm.service.product.CrmProductService;
19 -import cn.iocoder.yudao.module.system.api.logger.OperateLogApi;  
20 -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2PageReqDTO;  
21 -import cn.iocoder.yudao.module.system.api.logger.dto.OperateLogV2RespDTO;  
22 import cn.iocoder.yudao.module.system.api.user.AdminUserApi; 18 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
23 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; 19 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
24 import io.swagger.v3.oas.annotations.Operation; 20 import io.swagger.v3.oas.annotations.Operation;
@@ -38,12 +34,10 @@ import java.util.Map; @@ -38,12 +34,10 @@ import java.util.Map;
38 import java.util.stream.Stream; 34 import java.util.stream.Stream;
39 35
40 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 36 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
41 -import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;  
42 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; 37 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
43 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSetByFlatMap; 38 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSetByFlatMap;
44 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; 39 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
45 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; 40 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
46 -import static cn.iocoder.yudao.module.crm.enums.LogRecordConstants.CRM_PRODUCT_TYPE;  
47 41
48 @Tag(name = "管理后台 - CRM 产品") 42 @Tag(name = "管理后台 - CRM 产品")
49 @RestController 43 @RestController
@@ -56,8 +50,6 @@ public class CrmProductController { @@ -56,8 +50,6 @@ public class CrmProductController {
56 @Resource 50 @Resource
57 private CrmProductCategoryService productCategoryService; 51 private CrmProductCategoryService productCategoryService;
58 @Resource 52 @Resource
59 - private OperateLogApi operateLogApi;  
60 - @Resource  
61 private AdminUserApi adminUserApi; 53 private AdminUserApi adminUserApi;
62 54
63 @PostMapping("/create") 55 @PostMapping("/create")
@@ -131,14 +123,4 @@ public class CrmProductController { @@ -131,14 +123,4 @@ public class CrmProductController {
131 return CrmProductConvert.INSTANCE.convertList(list, userMap, productCategoryList); 123 return CrmProductConvert.INSTANCE.convertList(list, userMap, productCategoryList);
132 } 124 }
133 125
134 - @GetMapping("/operate-log-page")  
135 - @Operation(summary = "获得产品操作日志")  
136 - @PreAuthorize("@ss.hasPermission('crm:product:query')")  
137 - public CommonResult<PageResult<OperateLogV2RespDTO>> getProductOperateLog(@RequestParam("bizId") Long bizId) {  
138 - OperateLogV2PageReqDTO reqVO = new OperateLogV2PageReqDTO();  
139 - reqVO.setPageSize(PAGE_SIZE_NONE); // 不分页  
140 - reqVO.setBizType(CRM_PRODUCT_TYPE).setBizId(bizId);  
141 - return success(operateLogApi.getOperateLogPage(BeanUtils.toBean(reqVO, OperateLogV2PageReqDTO.class)));  
142 - }  
143 -  
144 } 126 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/convert/permission/CrmPermissionConvert.java
@@ -3,12 +3,9 @@ package cn.iocoder.yudao.module.crm.convert.permission; @@ -3,12 +3,9 @@ package cn.iocoder.yudao.module.crm.convert.permission;
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 4 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
5 import cn.iocoder.yudao.framework.common.util.collection.MapUtils; 5 import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
6 -import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionCreateReqVO;  
7 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO; 6 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionRespVO;
8 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; 7 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO;
9 import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; 8 import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO;
10 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;  
11 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionUpdateReqBO;  
12 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; 9 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
13 import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO; 10 import cn.iocoder.yudao.module.system.api.dept.dto.PostRespDTO;
14 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; 11 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
@@ -32,14 +29,6 @@ public interface CrmPermissionConvert { @@ -32,14 +29,6 @@ public interface CrmPermissionConvert {
32 29
33 CrmPermissionConvert INSTANCE = Mappers.getMapper(CrmPermissionConvert.class); 30 CrmPermissionConvert INSTANCE = Mappers.getMapper(CrmPermissionConvert.class);
34 31
35 - CrmPermissionDO convert(CrmPermissionCreateReqBO createBO);  
36 -  
37 - CrmPermissionDO convert(CrmPermissionUpdateReqBO updateBO);  
38 -  
39 - CrmPermissionCreateReqBO convert(CrmPermissionCreateReqVO reqVO);  
40 -  
41 - CrmPermissionUpdateReqBO convert(CrmPermissionUpdateReqVO updateReqVO);  
42 -  
43 List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission); 32 List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission);
44 33
45 default List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission, List<AdminUserRespDTO> userList, 34 default List<CrmPermissionRespVO> convert(List<CrmPermissionDO> permission, List<AdminUserRespDTO> userList,
@@ -65,7 +54,4 @@ public interface CrmPermissionConvert { @@ -65,7 +54,4 @@ public interface CrmPermissionConvert {
65 id -> new CrmPermissionDO().setId(id).setLevel(updateReqVO.getLevel())); 54 id -> new CrmPermissionDO().setId(id).setLevel(updateReqVO.getLevel()));
66 } 55 }
67 56
68 - // TODO @puhui999:搞成 BeanUtils  
69 - List<CrmPermissionDO> convertList(List<CrmPermissionCreateReqBO> list);  
70 -  
71 } 57 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionServiceImpl.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.crm.service.permission; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.crm.service.permission;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.ObjUtil; 4 import cn.hutool.core.util.ObjUtil;
  5 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
5 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO; 6 import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO;
6 import cn.iocoder.yudao.module.crm.convert.permission.CrmPermissionConvert; 7 import cn.iocoder.yudao.module.crm.convert.permission.CrmPermissionConvert;
7 import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; 8 import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO;
@@ -50,7 +51,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { @@ -50,7 +51,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
50 adminUserApi.validateUserList(Collections.singletonList(createReqBO.getUserId())); 51 adminUserApi.validateUserList(Collections.singletonList(createReqBO.getUserId()));
51 52
52 // 2. 创建 53 // 2. 创建
53 - CrmPermissionDO permission = CrmPermissionConvert.INSTANCE.convert(createReqBO); 54 + CrmPermissionDO permission = BeanUtils.toBean(createReqBO, CrmPermissionDO.class);
54 permissionMapper.insert(permission); 55 permissionMapper.insert(permission);
55 return permission.getId(); 56 return permission.getId();
56 } 57 }
@@ -62,7 +63,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { @@ -62,7 +63,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
62 adminUserApi.validateUserList(convertSet(createReqBOs, CrmPermissionCreateReqBO::getUserId)); 63 adminUserApi.validateUserList(convertSet(createReqBOs, CrmPermissionCreateReqBO::getUserId));
63 64
64 // 2. 创建 65 // 2. 创建
65 - List<CrmPermissionDO> permissions = CrmPermissionConvert.INSTANCE.convertList(createReqBOs); 66 + List<CrmPermissionDO> permissions = BeanUtils.toBean(createReqBOs, CrmPermissionDO.class);
66 permissionMapper.insertBatch(permissions); 67 permissionMapper.insertBatch(permissions);
67 } 68 }
68 69
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/bo/CrmPermissionUpdateReqBO.java deleted
1 -package cn.iocoder.yudao.module.crm.service.permission.bo;  
2 -  
3 -import cn.iocoder.yudao.framework.common.validation.InEnum;  
4 -import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum;  
5 -import lombok.Data;  
6 -  
7 -import jakarta.validation.constraints.NotNull;  
8 -  
9 -/**  
10 - * crm 数据权限 Update Req BO  
11 - *  
12 - * @author HUIHUI  
13 - */  
14 -@Data  
15 -public class CrmPermissionUpdateReqBO {  
16 -  
17 - /**  
18 - * 数据权限编号  
19 - */  
20 - @NotNull(message = "数据权限编号不能为空")  
21 - private Long id;  
22 -  
23 - /**  
24 - * 当前登录用户编号  
25 - */  
26 - @NotNull(message = "用户编号不能为空")  
27 - private Long userId;  
28 -  
29 - /**  
30 - * 权限级别  
31 - */  
32 - @NotNull(message = "权限级别不能为空")  
33 - @InEnum(CrmPermissionLevelEnum.class)  
34 - private Integer level;  
35 -  
36 -}