Commit 9ce50ec369b450b8e55b6b75d9cce3229a68d7c8
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 | +} |