Commit 9ce50ec369b450b8e55b6b75d9cce3229a68d7c8

Authored by puhui999
1 parent 26981644

CRM-客户限制配置:VO 简化

Showing 10 changed files with 94 additions and 72 deletions
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerLimitConfigController.java
@@ -3,10 +3,9 @@ package cn.iocoder.yudao.module.crm.controller.admin.customer; @@ -3,10 +3,9 @@ package cn.iocoder.yudao.module.crm.controller.admin.customer;
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.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigCreateReqVO;  
7 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO; 6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO;
8 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigRespVO; 7 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigRespVO;
9 -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigUpdateReqVO; 8 +import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigSaveReqVO;
10 import cn.iocoder.yudao.module.crm.convert.customer.CrmCustomerLimitConfigConvert; 9 import cn.iocoder.yudao.module.crm.convert.customer.CrmCustomerLimitConfigConvert;
11 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO; 10 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
12 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerLimitConfigService; 11 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerLimitConfigService;
@@ -17,12 +16,12 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; @@ -17,12 +16,12 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
17 import io.swagger.v3.oas.annotations.Operation; 16 import io.swagger.v3.oas.annotations.Operation;
18 import io.swagger.v3.oas.annotations.Parameter; 17 import io.swagger.v3.oas.annotations.Parameter;
19 import io.swagger.v3.oas.annotations.tags.Tag; 18 import io.swagger.v3.oas.annotations.tags.Tag;
  19 +import jakarta.annotation.Resource;
  20 +import jakarta.validation.Valid;
20 import org.springframework.security.access.prepost.PreAuthorize; 21 import org.springframework.security.access.prepost.PreAuthorize;
21 import org.springframework.validation.annotation.Validated; 22 import org.springframework.validation.annotation.Validated;
22 import org.springframework.web.bind.annotation.*; 23 import org.springframework.web.bind.annotation.*;
23 24
24 -import jakarta.annotation.Resource;  
25 -import jakarta.validation.Valid;  
26 import java.util.Collection; 25 import java.util.Collection;
27 import java.util.Map; 26 import java.util.Map;
28 27
@@ -43,18 +42,17 @@ public class CrmCustomerLimitConfigController { @@ -43,18 +42,17 @@ public class CrmCustomerLimitConfigController {
43 @Resource 42 @Resource
44 private AdminUserApi adminUserApi; 43 private AdminUserApi adminUserApi;
45 44
46 - // TODO @puhui999:可以把 vo 改下哈  
47 @PostMapping("/create") 45 @PostMapping("/create")
48 @Operation(summary = "创建客户限制配置") 46 @Operation(summary = "创建客户限制配置")
49 @PreAuthorize("@ss.hasPermission('crm:customer-limit-config:create')") 47 @PreAuthorize("@ss.hasPermission('crm:customer-limit-config:create')")
50 - public CommonResult<Long> createCustomerLimitConfig(@Valid @RequestBody CrmCustomerLimitConfigCreateReqVO createReqVO) { 48 + public CommonResult<Long> createCustomerLimitConfig(@Valid @RequestBody CrmCustomerLimitConfigSaveReqVO createReqVO) {
51 return success(customerLimitConfigService.createCustomerLimitConfig(createReqVO)); 49 return success(customerLimitConfigService.createCustomerLimitConfig(createReqVO));
52 } 50 }
53 51
54 @PutMapping("/update") 52 @PutMapping("/update")
55 @Operation(summary = "更新客户限制配置") 53 @Operation(summary = "更新客户限制配置")
56 @PreAuthorize("@ss.hasPermission('crm:customer-limit-config:update')") 54 @PreAuthorize("@ss.hasPermission('crm:customer-limit-config:update')")
57 - public CommonResult<Boolean> updateCustomerLimitConfig(@Valid @RequestBody CrmCustomerLimitConfigUpdateReqVO updateReqVO) { 55 + public CommonResult<Boolean> updateCustomerLimitConfig(@Valid @RequestBody CrmCustomerLimitConfigSaveReqVO updateReqVO) {
58 customerLimitConfigService.updateCustomerLimitConfig(updateReqVO); 56 customerLimitConfigService.updateCustomerLimitConfig(updateReqVO);
59 return success(true); 57 return success(true);
60 } 58 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/limitconfig/CrmCustomerLimitConfigCreateReqVO.java deleted
1 -package cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig;  
2 -  
3 -import io.swagger.v3.oas.annotations.media.Schema;  
4 -import lombok.Data;  
5 -import lombok.EqualsAndHashCode;  
6 -import lombok.ToString;  
7 -  
8 -@Schema(description = "管理后台 - 客户限制配置创建 Request VO")  
9 -@Data  
10 -@EqualsAndHashCode(callSuper = true)  
11 -@ToString(callSuper = true)  
12 -public class CrmCustomerLimitConfigCreateReqVO extends CrmCustomerLimitConfigBaseVO {  
13 -  
14 -}  
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/limitconfig/CrmCustomerLimitConfigRespVO.java
@@ -3,22 +3,36 @@ package cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig; @@ -3,22 +3,36 @@ package cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig;
3 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; 3 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
4 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; 4 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
5 import io.swagger.v3.oas.annotations.media.Schema; 5 import io.swagger.v3.oas.annotations.media.Schema;
  6 +import jakarta.validation.constraints.NotNull;
6 import lombok.Data; 7 import lombok.Data;
7 -import lombok.EqualsAndHashCode;  
8 -import lombok.ToString;  
9 8
10 import java.time.LocalDateTime; 9 import java.time.LocalDateTime;
11 import java.util.List; 10 import java.util.List;
12 11
13 @Schema(description = "管理后台 - 客户限制配置 Response VO") 12 @Schema(description = "管理后台 - 客户限制配置 Response VO")
14 @Data 13 @Data
15 -@EqualsAndHashCode(callSuper = true)  
16 -@ToString(callSuper = true)  
17 -public class CrmCustomerLimitConfigRespVO extends CrmCustomerLimitConfigBaseVO { 14 +public class CrmCustomerLimitConfigRespVO {
18 15
19 @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27930") 16 @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27930")
20 private Long id; 17 private Long id;
21 18
  19 + @Schema(description = "规则类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
  20 + @NotNull(message = "规则类型不能为空")
  21 + private Integer type;
  22 +
  23 + @Schema(description = "规则适用人群")
  24 + private List<Long> userIds;
  25 +
  26 + @Schema(description = "规则适用部门")
  27 + private List<Long> deptIds;
  28 +
  29 + @Schema(description = "数量上限", requiredMode = Schema.RequiredMode.REQUIRED, example = "28384")
  30 + @NotNull(message = "数量上限不能为空")
  31 + private Integer maxCount;
  32 +
  33 + @Schema(description = "成交客户是否占有拥有客户数(当 type = 1 时)")
  34 + private Boolean dealCountEnabled;
  35 +
22 @Schema(description = "规则适用人群名称") 36 @Schema(description = "规则适用人群名称")
23 private List<AdminUserRespDTO> users; 37 private List<AdminUserRespDTO> users;
24 38
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/limitconfig/CrmCustomerLimitConfigBaseVO.java renamed to yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/limitconfig/CrmCustomerLimitConfigSaveReqVO.java
1 package cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig; 1 package cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig;
2 2
  3 +import com.mzt.logapi.starter.annotation.DiffLogField;
3 import io.swagger.v3.oas.annotations.media.Schema; 4 import io.swagger.v3.oas.annotations.media.Schema;
  5 +import jakarta.validation.constraints.NotNull;
4 import lombok.Data; 6 import lombok.Data;
5 7
6 -import jakarta.validation.constraints.NotNull;  
7 import java.util.List; 8 import java.util.List;
8 9
9 -/**  
10 - * 客户限制配置 Base VO,提供给添加、修改、详细的子 VO 使用  
11 - * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成  
12 - */ 10 +@Schema(description = "管理后台 - 客户限制配置创建/更新 Request VO")
13 @Data 11 @Data
14 -public class CrmCustomerLimitConfigBaseVO { 12 +public class CrmCustomerLimitConfigSaveReqVO {
  13 +
  14 + @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27930")
  15 + private Long id;
15 16
16 @Schema(description = "规则类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") 17 @Schema(description = "规则类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
  18 + @DiffLogField(name = "规则类型")
17 @NotNull(message = "规则类型不能为空") 19 @NotNull(message = "规则类型不能为空")
18 private Integer type; 20 private Integer type;
19 21
20 @Schema(description = "规则适用人群") 22 @Schema(description = "规则适用人群")
  23 + @DiffLogField(name = "规则适用人群", function = "getAdminUserById")
21 private List<Long> userIds; 24 private List<Long> userIds;
22 25
23 @Schema(description = "规则适用部门") 26 @Schema(description = "规则适用部门")
  27 + @DiffLogField(name = "规则适用部门", function = "getDeptById")
24 private List<Long> deptIds; 28 private List<Long> deptIds;
25 29
26 @Schema(description = "数量上限", requiredMode = Schema.RequiredMode.REQUIRED, example = "28384") 30 @Schema(description = "数量上限", requiredMode = Schema.RequiredMode.REQUIRED, example = "28384")
  31 + @DiffLogField(name = "数量上限")
27 @NotNull(message = "数量上限不能为空") 32 @NotNull(message = "数量上限不能为空")
28 private Integer maxCount; 33 private Integer maxCount;
29 34
30 @Schema(description = "成交客户是否占有拥有客户数(当 type = 1 时)") 35 @Schema(description = "成交客户是否占有拥有客户数(当 type = 1 时)")
  36 + @DiffLogField(name = "成交客户是否占有拥有客户数")
31 private Boolean dealCountEnabled; 37 private Boolean dealCountEnabled;
32 38
33 } 39 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/limitconfig/CrmCustomerLimitConfigUpdateReqVO.java deleted
1 -package cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig;  
2 -  
3 -import io.swagger.v3.oas.annotations.media.Schema;  
4 -import lombok.Data;  
5 -import lombok.EqualsAndHashCode;  
6 -import lombok.ToString;  
7 -  
8 -import jakarta.validation.constraints.NotNull;  
9 -  
10 -@Schema(description = "管理后台 - 客户限制配置更新 Request VO")  
11 -@Data  
12 -@EqualsAndHashCode(callSuper = true)  
13 -@ToString(callSuper = true)  
14 -public class CrmCustomerLimitConfigUpdateReqVO extends CrmCustomerLimitConfigBaseVO {  
15 -  
16 - @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27930")  
17 - @NotNull(message = "编号不能为空")  
18 - private Long id;  
19 -  
20 -}  
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/convert/customer/CrmCustomerLimitConfigConvert.java
@@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
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.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigCreateReqVO; 5 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigCreateReqVO;
6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigRespVO; 6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigRespVO;
7 -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigUpdateReqVO; 7 +import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigSaveReqVO;
8 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO; 8 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
9 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; 9 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
10 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; 10 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
@@ -26,7 +26,7 @@ public interface CrmCustomerLimitConfigConvert { @@ -26,7 +26,7 @@ public interface CrmCustomerLimitConfigConvert {
26 26
27 CrmCustomerLimitConfigDO convert(CrmCustomerLimitConfigCreateReqVO bean); 27 CrmCustomerLimitConfigDO convert(CrmCustomerLimitConfigCreateReqVO bean);
28 28
29 - CrmCustomerLimitConfigDO convert(CrmCustomerLimitConfigUpdateReqVO bean); 29 + CrmCustomerLimitConfigDO convert(CrmCustomerLimitConfigSaveReqVO bean);
30 30
31 CrmCustomerLimitConfigRespVO convert(CrmCustomerLimitConfigDO bean); 31 CrmCustomerLimitConfigRespVO convert(CrmCustomerLimitConfigDO bean);
32 32
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerLimitConfigService.java
1 package cn.iocoder.yudao.module.crm.service.customer; 1 package cn.iocoder.yudao.module.crm.service.customer;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigCreateReqVO;  
5 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO; 4 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO;
6 -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigUpdateReqVO; 5 +import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigSaveReqVO;
7 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO; 6 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
8 import jakarta.validation.Valid; 7 import jakarta.validation.Valid;
9 8
@@ -22,14 +21,14 @@ public interface CrmCustomerLimitConfigService { @@ -22,14 +21,14 @@ public interface CrmCustomerLimitConfigService {
22 * @param createReqVO 创建信息 21 * @param createReqVO 创建信息
23 * @return 编号 22 * @return 编号
24 */ 23 */
25 - Long createCustomerLimitConfig(@Valid CrmCustomerLimitConfigCreateReqVO createReqVO); 24 + Long createCustomerLimitConfig(@Valid CrmCustomerLimitConfigSaveReqVO createReqVO);
26 25
27 /** 26 /**
28 * 更新客户限制配置 27 * 更新客户限制配置
29 * 28 *
30 * @param updateReqVO 更新信息 29 * @param updateReqVO 更新信息
31 */ 30 */
32 - void updateCustomerLimitConfig(@Valid CrmCustomerLimitConfigUpdateReqVO updateReqVO); 31 + void updateCustomerLimitConfig(@Valid CrmCustomerLimitConfigSaveReqVO updateReqVO);
33 32
34 /** 33 /**
35 * 删除客户限制配置 34 * 删除客户限制配置
@@ -57,7 +56,7 @@ public interface CrmCustomerLimitConfigService { @@ -57,7 +56,7 @@ public interface CrmCustomerLimitConfigService {
57 /** 56 /**
58 * 查询用户对应的配置列表 57 * 查询用户对应的配置列表
59 * 58 *
60 - * @param type 类型 59 + * @param type 类型
61 * @param userId 用户类型 60 * @param userId 用户类型
62 */ 61 */
63 List<CrmCustomerLimitConfigDO> getCustomerLimitConfigListByUserId(Integer type, Long userId); 62 List<CrmCustomerLimitConfigDO> getCustomerLimitConfigListByUserId(Integer type, Long userId);
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerLimitConfigServiceImpl.java
@@ -2,20 +2,18 @@ package cn.iocoder.yudao.module.crm.service.customer; @@ -2,20 +2,18 @@ package cn.iocoder.yudao.module.crm.service.customer;
2 2
3 import cn.hutool.core.lang.Assert; 3 import cn.hutool.core.lang.Assert;
4 import cn.iocoder.yudao.framework.common.pojo.PageResult; 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigCreateReqVO;  
6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO; 5 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO;
7 -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigUpdateReqVO; 6 +import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigSaveReqVO;
8 import cn.iocoder.yudao.module.crm.convert.customer.CrmCustomerLimitConfigConvert; 7 import cn.iocoder.yudao.module.crm.convert.customer.CrmCustomerLimitConfigConvert;
9 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO; 8 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
10 import cn.iocoder.yudao.module.crm.dal.mysql.customer.CrmCustomerLimitConfigMapper; 9 import cn.iocoder.yudao.module.crm.dal.mysql.customer.CrmCustomerLimitConfigMapper;
11 import cn.iocoder.yudao.module.system.api.dept.DeptApi; 10 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
12 import cn.iocoder.yudao.module.system.api.user.AdminUserApi; 11 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
13 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; 12 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
  13 +import jakarta.annotation.Resource;
14 import org.springframework.stereotype.Service; 14 import org.springframework.stereotype.Service;
15 import org.springframework.validation.annotation.Validated; 15 import org.springframework.validation.annotation.Validated;
16 16
17 -import jakarta.annotation.Resource;  
18 -  
19 import java.util.Collection; 17 import java.util.Collection;
20 import java.util.List; 18 import java.util.List;
21 19
@@ -41,7 +39,7 @@ public class CrmCustomerLimitConfigServiceImpl implements CrmCustomerLimitConfig @@ -41,7 +39,7 @@ public class CrmCustomerLimitConfigServiceImpl implements CrmCustomerLimitConfig
41 39
42 @Override 40 @Override
43 // TODO @puhui999:操作日志 41 // TODO @puhui999:操作日志
44 - public Long createCustomerLimitConfig(CrmCustomerLimitConfigCreateReqVO createReqVO) { 42 + public Long createCustomerLimitConfig(CrmCustomerLimitConfigSaveReqVO createReqVO) {
45 validateUserAndDept(createReqVO.getUserIds(), createReqVO.getDeptIds()); 43 validateUserAndDept(createReqVO.getUserIds(), createReqVO.getDeptIds());
46 // 插入 44 // 插入
47 CrmCustomerLimitConfigDO customerLimitConfig = CrmCustomerLimitConfigConvert.INSTANCE.convert(createReqVO); 45 CrmCustomerLimitConfigDO customerLimitConfig = CrmCustomerLimitConfigConvert.INSTANCE.convert(createReqVO);
@@ -52,7 +50,7 @@ public class CrmCustomerLimitConfigServiceImpl implements CrmCustomerLimitConfig @@ -52,7 +50,7 @@ public class CrmCustomerLimitConfigServiceImpl implements CrmCustomerLimitConfig
52 50
53 @Override 51 @Override
54 // TODO @puhui999:操作日志 52 // TODO @puhui999:操作日志
55 - public void updateCustomerLimitConfig(CrmCustomerLimitConfigUpdateReqVO updateReqVO) { 53 + public void updateCustomerLimitConfig(CrmCustomerLimitConfigSaveReqVO updateReqVO) {
56 // 校验存在 54 // 校验存在
57 validateCustomerLimitConfigExists(updateReqVO.getId()); 55 validateCustomerLimitConfigExists(updateReqVO.getId());
58 validateUserAndDept(updateReqVO.getUserIds(), updateReqVO.getDeptIds()); 56 validateUserAndDept(updateReqVO.getUserIds(), updateReqVO.getDeptIds());
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/customerlimitconfig/CrmCustomerLimitConfigServiceImplTest.java
@@ -2,18 +2,16 @@ package cn.iocoder.yudao.module.crm.service.customerlimitconfig; @@ -2,18 +2,16 @@ package cn.iocoder.yudao.module.crm.service.customerlimitconfig;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageResult; 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; 4 import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5 -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigCreateReqVO;  
6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO; 5 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO;
7 -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigUpdateReqVO; 6 +import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigSaveReqVO;
8 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO; 7 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
9 import cn.iocoder.yudao.module.crm.dal.mysql.customer.CrmCustomerLimitConfigMapper; 8 import cn.iocoder.yudao.module.crm.dal.mysql.customer.CrmCustomerLimitConfigMapper;
10 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerLimitConfigServiceImpl; 9 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerLimitConfigServiceImpl;
  10 +import jakarta.annotation.Resource;
11 import org.junit.jupiter.api.Disabled; 11 import org.junit.jupiter.api.Disabled;
12 import org.junit.jupiter.api.Test; 12 import org.junit.jupiter.api.Test;
13 import org.springframework.context.annotation.Import; 13 import org.springframework.context.annotation.Import;
14 14
15 -import jakarta.annotation.Resource;  
16 -  
17 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; 15 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals;
18 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; 16 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
19 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId; 17 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
@@ -40,7 +38,7 @@ public class CrmCustomerLimitConfigServiceImplTest extends BaseDbUnitTest { @@ -40,7 +38,7 @@ public class CrmCustomerLimitConfigServiceImplTest extends BaseDbUnitTest {
40 @Test 38 @Test
41 public void testCreateCustomerLimitConfig_success() { 39 public void testCreateCustomerLimitConfig_success() {
42 // 准备参数 40 // 准备参数
43 - CrmCustomerLimitConfigCreateReqVO reqVO = randomPojo(CrmCustomerLimitConfigCreateReqVO.class); 41 + CrmCustomerLimitConfigSaveReqVO reqVO = randomPojo(CrmCustomerLimitConfigSaveReqVO.class);
44 42
45 // 调用 43 // 调用
46 Long customerLimitConfigId = customerLimitConfigService.createCustomerLimitConfig(reqVO); 44 Long customerLimitConfigId = customerLimitConfigService.createCustomerLimitConfig(reqVO);
@@ -57,7 +55,7 @@ public class CrmCustomerLimitConfigServiceImplTest extends BaseDbUnitTest { @@ -57,7 +55,7 @@ public class CrmCustomerLimitConfigServiceImplTest extends BaseDbUnitTest {
57 CrmCustomerLimitConfigDO dbCustomerLimitConfig = randomPojo(CrmCustomerLimitConfigDO.class); 55 CrmCustomerLimitConfigDO dbCustomerLimitConfig = randomPojo(CrmCustomerLimitConfigDO.class);
58 customerLimitConfigMapper.insert(dbCustomerLimitConfig);// @Sql: 先插入出一条存在的数据 56 customerLimitConfigMapper.insert(dbCustomerLimitConfig);// @Sql: 先插入出一条存在的数据
59 // 准备参数 57 // 准备参数
60 - CrmCustomerLimitConfigUpdateReqVO reqVO = randomPojo(CrmCustomerLimitConfigUpdateReqVO.class, o -> { 58 + CrmCustomerLimitConfigSaveReqVO reqVO = randomPojo(CrmCustomerLimitConfigSaveReqVO.class, o -> {
61 o.setId(dbCustomerLimitConfig.getId()); // 设置更新的 ID 59 o.setId(dbCustomerLimitConfig.getId()); // 设置更新的 ID
62 }); 60 });
63 61
@@ -71,7 +69,7 @@ public class CrmCustomerLimitConfigServiceImplTest extends BaseDbUnitTest { @@ -71,7 +69,7 @@ public class CrmCustomerLimitConfigServiceImplTest extends BaseDbUnitTest {
71 @Test 69 @Test
72 public void testUpdateCustomerLimitConfig_notExists() { 70 public void testUpdateCustomerLimitConfig_notExists() {
73 // 准备参数 71 // 准备参数
74 - CrmCustomerLimitConfigUpdateReqVO reqVO = randomPojo(CrmCustomerLimitConfigUpdateReqVO.class); 72 + CrmCustomerLimitConfigSaveReqVO reqVO = randomPojo(CrmCustomerLimitConfigSaveReqVO.class);
75 73
76 // 调用, 并断言异常 74 // 调用, 并断言异常
77 assertServiceException(() -> customerLimitConfigService.updateCustomerLimitConfig(reqVO), CUSTOMER_LIMIT_CONFIG_NOT_EXISTS); 75 assertServiceException(() -> customerLimitConfigService.updateCustomerLimitConfig(reqVO), CUSTOMER_LIMIT_CONFIG_NOT_EXISTS);
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/DeptParseFunction.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.framework.operatelog.core;
  2 +
  3 +import cn.hutool.core.util.StrUtil;
  4 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  5 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  6 +import com.mzt.logapi.service.IParseFunction;
  7 +import jakarta.annotation.Resource;
  8 +import lombok.extern.slf4j.Slf4j;
  9 +import org.springframework.stereotype.Component;
  10 +
  11 +/**
  12 + * 管理员名字的 {@link IParseFunction} 实现类
  13 + *
  14 + * @author HUIHUI
  15 + */
  16 +@Slf4j
  17 +@Component
  18 +public class DeptParseFunction implements IParseFunction {
  19 +
  20 + @Resource
  21 + private DeptApi deptApi;
  22 +
  23 + @Override
  24 + public String functionName() {
  25 + return "getDeptById";
  26 + }
  27 +
  28 + @Override
  29 + public String apply(Object value) {
  30 + if (StrUtil.isEmptyIfStr(value)) {
  31 + return "";
  32 + }
  33 +
  34 + // 获取部门信息
  35 + DeptRespDTO dept = deptApi.getDept(Long.parseLong(value.toString()));
  36 + if (dept == null) {
  37 + log.warn("[apply][获取部门{{}}为空", value);
  38 + return "";
  39 + }
  40 + return dept.getName();
  41 + }
  42 +
  43 +}