Commit f766474ff452e14015a6b19dfbb89d39acca3500
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
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
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; | ... | ... |