Commit f766474ff452e14015a6b19dfbb89d39acca3500

Authored by YunaiV
1 parent 18c8a11a

crm:code review 客户配置

Showing 15 changed files with 33 additions and 29 deletions
yudao-module-crm/yudao-module-crm-api/src/main/java/cn/iocoder/yudao/module/crm/enums/ErrorCodeConstants.java
... ... @@ -65,4 +65,5 @@ public interface ErrorCodeConstants {
65 65  
66 66 // ========== 客户公海规则设置 1_020_011_000 ==========
67 67 ErrorCode CUSTOMER_LIMIT_CONFIG_NOT_EXISTS = new ErrorCode(1_020_012_000, "客户限制配置不存在");
  68 +
68 69 }
... ...
yudao-module-crm/yudao-module-crm-api/src/main/java/cn/iocoder/yudao/module/crm/enums/customer/LimitConfigTypeEnum.java renamed to yudao-module-crm/yudao-module-crm-api/src/main/java/cn/iocoder/yudao/module/crm/enums/customer/CrmCustomerLimitConfigTypeEnum.java
... ... @@ -13,7 +13,7 @@ import java.util.Arrays;
13 13 */
14 14 @Getter
15 15 @AllArgsConstructor
16   -public enum LimitConfigTypeEnum implements IntArrayValuable {
  16 +public enum CrmCustomerLimitConfigTypeEnum implements IntArrayValuable {
17 17  
18 18 /**
19 19 * 拥有客户数限制
... ... @@ -25,7 +25,7 @@ public enum LimitConfigTypeEnum implements IntArrayValuable {
25 25 CUSTOMER_LOCK_LIMIT(2, "锁定客户数限制"),
26 26 ;
27 27  
28   - public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(LimitConfigTypeEnum::getCode).toArray();
  28 + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(CrmCustomerLimitConfigTypeEnum::getCode).toArray();
29 29  
30 30 /**
31 31 * 状态
... ... @@ -40,4 +40,5 @@ public enum LimitConfigTypeEnum implements IntArrayValuable {
40 40 public int[] array() {
41 41 return ARRAYS;
42 42 }
  43 +
43 44 }
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerLimitConfigController.java
... ... @@ -8,8 +8,8 @@ import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmC
8 8 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigRespVO;
9 9 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigUpdateReqVO;
10 10 import cn.iocoder.yudao.module.crm.convert.customer.CrmCustomerLimitConfigConvert;
11   -import cn.iocoder.yudao.module.crm.dal.dataobject.customerlimitconfig.CrmCustomerLimitConfigDO;
12   -import cn.iocoder.yudao.module.crm.service.customerlimitconfig.CrmCustomerLimitConfigService;
  11 +import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
  12 +import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerLimitConfigService;
13 13 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
14 14 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
15 15 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
... ... @@ -29,7 +29,7 @@ import java.util.Map;
29 29 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
30 30 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSetByFlatMap;
31 31  
32   -@Tag(name = "管理后台 - 客户限制配置")
  32 +@Tag(name = "管理后台 - CRM 客户限制配置")
33 33 @RestController
34 34 @RequestMapping("/crm/customer-limit-config")
35 35 @Validated
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerPoolConfigController.java
... ... @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.crm.controller.admin.customer;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
4 4 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigRespVO;
5   -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigUpdateReqVO;
  5 +import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigSaveReqVO;
6 6 import cn.iocoder.yudao.module.crm.convert.customer.CrmCustomerConvert;
7 7 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerPoolConfigDO;
8 8 import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerPoolConfigService;
... ... @@ -37,8 +37,8 @@ public class CrmCustomerPoolConfigController {
37 37 @PutMapping("/save")
38 38 @Operation(summary = "更新客户公海规则设置")
39 39 @PreAuthorize("@ss.hasPermission('crm:customer-pool-config:update')")
40   - public CommonResult<Boolean> saveCustomerPoolConfig(@Valid @RequestBody CrmCustomerPoolConfigUpdateReqVO updateReqVO) {
41   - customerPoolConfigService.updateCustomerPoolConfig(updateReqVO);
  40 + public CommonResult<Boolean> saveCustomerPoolConfig(@Valid @RequestBody CrmCustomerPoolConfigSaveReqVO updateReqVO) {
  41 + customerPoolConfigService.saveCustomerPoolConfig(updateReqVO);
42 42 return success(true);
43 43 }
44 44  
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/poolconfig/CrmCustomerPoolConfigUpdateReqVO.java renamed to yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/vo/poolconfig/CrmCustomerPoolConfigSaveReqVO.java
... ... @@ -10,13 +10,15 @@ import lombok.ToString;
10 10 import javax.validation.constraints.AssertTrue;
11 11 import java.util.Objects;
12 12  
13   -@Schema(description = "管理后台 - CRM 客户更新 Request VO")
  13 +@Schema(description = "管理后台 - CRM 客户公海配置的保存 Request VO")
14 14 @Data
15 15 @EqualsAndHashCode(callSuper = true)
16 16 @ToString(callSuper = true)
17   -public class CrmCustomerPoolConfigUpdateReqVO extends CrmCustomerPoolConfigBaseVO {
  17 +public class CrmCustomerPoolConfigSaveReqVO extends CrmCustomerPoolConfigBaseVO {
18 18  
  19 + // TODO @wanwan:AssertTrue 必须 is 开头哈;注意需要 json 忽略下,避免被序列化;
19 20 @AssertTrue(message = "客户公海规则设置不正确")
  21 + // TODO @wanwan:这个方法,是不是拆成 2 个,一个校验 contactExpireDays、一个校验 dealExpireDays;
20 22 public boolean poolEnableValid() {
21 23 if (!BooleanUtil.isTrue(getEnabled())) {
22 24 return true;
... ... @@ -25,10 +27,12 @@ public class CrmCustomerPoolConfigUpdateReqVO extends CrmCustomerPoolConfigBaseV
25 27 }
26 28  
27 29 @AssertTrue(message = "客户公海规则设置不正确")
  30 + // TODO @wanwan:这个方法,是不是改成 isNotifyDaysValid() 更好点?本质校验的是 notifyDays 是否为空
28 31 public boolean notifyEnableValid() {
29 32 if (!BooleanUtil.isTrue(getNotifyEnabled())) {
30 33 return true;
31 34 }
32 35 return Objects.nonNull(getNotifyDays());
33 36 }
  37 +
34 38 }
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/convert/customer/CrmCustomerConvert.java
... ... @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils;
5 5 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.*;
6 6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigRespVO;
7   -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigUpdateReqVO;
  7 +import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigSaveReqVO;
8 8 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO;
9 9 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerPoolConfigDO;
10 10 import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionTransferReqBO;
... ... @@ -80,6 +80,6 @@ public interface CrmCustomerConvert {
80 80  
81 81 CrmCustomerPoolConfigRespVO convert(CrmCustomerPoolConfigDO customerPoolConfig);
82 82  
83   - CrmCustomerPoolConfigDO convert(CrmCustomerPoolConfigUpdateReqVO updateReqVO);
  83 + CrmCustomerPoolConfigDO convert(CrmCustomerPoolConfigSaveReqVO updateReqVO);
84 84  
85 85 }
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/convert/customer/CrmCustomerLimitConfigConvert.java
... ... @@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
5 5 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigCreateReqVO;
6 6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigRespVO;
7 7 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigUpdateReqVO;
8   -import cn.iocoder.yudao.module.crm.dal.dataobject.customerlimitconfig.CrmCustomerLimitConfigDO;
  8 +import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
9 9 import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
10 10 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
11 11 import org.mapstruct.Mapper;
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/customerlimitconfig/CrmCustomerLimitConfigDO.java renamed to yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/dataobject/customer/CrmCustomerLimitConfigDO.java
1   -package cn.iocoder.yudao.module.crm.dal.dataobject.customerlimitconfig;
  1 +package cn.iocoder.yudao.module.crm.dal.dataobject.customer;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 4 import cn.iocoder.yudao.framework.mybatis.core.type.LongListTypeHandler;
  5 +import cn.iocoder.yudao.module.crm.enums.customer.CrmCustomerLimitConfigTypeEnum;
5 6 import com.baomidou.mybatisplus.annotation.KeySequence;
6 7 import com.baomidou.mybatisplus.annotation.TableField;
7 8 import com.baomidou.mybatisplus.annotation.TableId;
... ... @@ -33,7 +34,7 @@ public class CrmCustomerLimitConfigDO extends BaseDO {
33 34 /**
34 35 * 规则类型
35 36 * <p>
36   - * 枚举 {@link cn.iocoder.yudao.module.crm.enums.customer.LimitConfigTypeEnum}
  37 + * 枚举 {@link CrmCustomerLimitConfigTypeEnum}
37 38 */
38 39 private Integer type;
39 40 /**
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/customerlimitconfig/CrmCustomerLimitConfigMapper.java
... ... @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
5 5 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
6 6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO;
7   -import cn.iocoder.yudao.module.crm.dal.dataobject.customerlimitconfig.CrmCustomerLimitConfigDO;
  7 +import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
8 8 import org.apache.ibatis.annotations.Mapper;
9 9  
10 10 /**
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customerlimitconfig/CrmCustomerLimitConfigService.java renamed to 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.customerlimitconfig;
  1 +package cn.iocoder.yudao.module.crm.service.customer;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigCreateReqVO;
5 5 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO;
6 6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigUpdateReqVO;
7   -import cn.iocoder.yudao.module.crm.dal.dataobject.customerlimitconfig.CrmCustomerLimitConfigDO;
  7 +import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
8 8  
9 9 import javax.validation.Valid;
10 10  
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customerlimitconfig/CrmCustomerLimitConfigServiceImpl.java renamed to yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerLimitConfigServiceImpl.java
1   -package cn.iocoder.yudao.module.crm.service.customerlimitconfig;
  1 +package cn.iocoder.yudao.module.crm.service.customer;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4 4 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigCreateReqVO;
5 5 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO;
6 6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigUpdateReqVO;
7 7 import cn.iocoder.yudao.module.crm.convert.customer.CrmCustomerLimitConfigConvert;
8   -import cn.iocoder.yudao.module.crm.dal.dataobject.customerlimitconfig.CrmCustomerLimitConfigDO;
  8 +import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
9 9 import cn.iocoder.yudao.module.crm.dal.mysql.customerlimitconfig.CrmCustomerLimitConfigMapper;
10 10 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
11 11 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerPoolConfigService.java
1 1 package cn.iocoder.yudao.module.crm.service.customer;
2 2  
3   -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigUpdateReqVO;
  3 +import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigSaveReqVO;
4 4 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerPoolConfigDO;
5 5  
6 6 import javax.validation.Valid;
... ... @@ -24,6 +24,6 @@ public interface CrmCustomerPoolConfigService {
24 24 *
25 25 * @param saveReqVO 更新信息
26 26 */
27   - void updateCustomerPoolConfig(@Valid CrmCustomerPoolConfigUpdateReqVO saveReqVO);
  27 + void saveCustomerPoolConfig(@Valid CrmCustomerPoolConfigSaveReqVO saveReqVO);
28 28  
29 29 }
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerPoolConfigServiceImpl.java
1 1 package cn.iocoder.yudao.module.crm.service.customer;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
4   -import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigUpdateReqVO;
  4 +import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigSaveReqVO;
5 5 import cn.iocoder.yudao.module.crm.convert.customer.CrmCustomerConvert;
6 6 import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerPoolConfigDO;
7 7 import cn.iocoder.yudao.module.crm.dal.mysql.customer.CrmCustomerPoolConfigMapper;
... ... @@ -38,7 +38,7 @@ public class CrmCustomerPoolConfigServiceImpl implements CrmCustomerPoolConfigSe
38 38 * @param saveReqVO 更新信息
39 39 */
40 40 @Override
41   - public void updateCustomerPoolConfig(CrmCustomerPoolConfigUpdateReqVO saveReqVO) {
  41 + public void saveCustomerPoolConfig(CrmCustomerPoolConfigSaveReqVO saveReqVO) {
42 42 // 存在,则进行更新
43 43 CrmCustomerPoolConfigDO dbConfig = getCustomerPoolConfig();
44 44 if (Objects.nonNull(dbConfig)) {
... ...
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/package-info.java deleted
1   -/**
2   - * 客户
3   - */
4   -package cn.iocoder.yudao.module.crm.service.customer;
yudao-module-crm/yudao-module-crm-biz/src/test/java/cn/iocoder/yudao/module/crm/service/customerlimitconfig/CrmCustomerLimitConfigServiceImplTest.java
... ... @@ -5,8 +5,9 @@ import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest;
5 5 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigCreateReqVO;
6 6 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigPageReqVO;
7 7 import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.limitconfig.CrmCustomerLimitConfigUpdateReqVO;
8   -import cn.iocoder.yudao.module.crm.dal.dataobject.customerlimitconfig.CrmCustomerLimitConfigDO;
  8 +import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerLimitConfigDO;
9 9 import cn.iocoder.yudao.module.crm.dal.mysql.customerlimitconfig.CrmCustomerLimitConfigMapper;
  10 +import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerLimitConfigServiceImpl;
10 11 import org.junit.jupiter.api.Disabled;
11 12 import org.junit.jupiter.api.Test;
12 13 import org.springframework.context.annotation.Import;
... ...