Commit 322411304ce6587c8fc69429a98fe4449fce11e2

Authored by Wanwan
1 parent 5b295d56

feat: CRM 客户限制

yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customerlimitconfig/CrmCustomerLimitConfigServiceImpl.java
@@ -7,11 +7,15 @@ import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.CrmCustomerLimit @@ -7,11 +7,15 @@ import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.CrmCustomerLimit
7 import cn.iocoder.yudao.module.crm.convert.customerlimitconfig.CrmCustomerLimitConfigConvert; 7 import cn.iocoder.yudao.module.crm.convert.customerlimitconfig.CrmCustomerLimitConfigConvert;
8 import cn.iocoder.yudao.module.crm.dal.dataobject.customerlimitconfig.CrmCustomerLimitConfigDO; 8 import cn.iocoder.yudao.module.crm.dal.dataobject.customerlimitconfig.CrmCustomerLimitConfigDO;
9 import cn.iocoder.yudao.module.crm.dal.mysql.customerlimitconfig.CrmCustomerLimitConfigMapper; 9 import cn.iocoder.yudao.module.crm.dal.mysql.customerlimitconfig.CrmCustomerLimitConfigMapper;
  10 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  11 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
10 import org.springframework.stereotype.Service; 12 import org.springframework.stereotype.Service;
11 import org.springframework.validation.annotation.Validated; 13 import org.springframework.validation.annotation.Validated;
12 14
13 import javax.annotation.Resource; 15 import javax.annotation.Resource;
14 16
  17 +import java.util.Collection;
  18 +
15 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 19 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
16 import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.CUSTOMER_LIMIT_CONFIG_NOT_EXISTS; 20 import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.CUSTOMER_LIMIT_CONFIG_NOT_EXISTS;
17 21
@@ -26,9 +30,14 @@ public class CrmCustomerLimitConfigServiceImpl implements CrmCustomerLimitConfig @@ -26,9 +30,14 @@ public class CrmCustomerLimitConfigServiceImpl implements CrmCustomerLimitConfig
26 30
27 @Resource 31 @Resource
28 private CrmCustomerLimitConfigMapper customerLimitConfigMapper; 32 private CrmCustomerLimitConfigMapper customerLimitConfigMapper;
  33 + @Resource
  34 + private DeptApi deptApi;
  35 + @Resource
  36 + private AdminUserApi adminUserApi;
29 37
30 @Override 38 @Override
31 public Long createCustomerLimitConfig(CrmCustomerLimitConfigCreateReqVO createReqVO) { 39 public Long createCustomerLimitConfig(CrmCustomerLimitConfigCreateReqVO createReqVO) {
  40 + validateUserAndDept(createReqVO.getUserIds(), createReqVO.getDeptIds());
32 // 插入 41 // 插入
33 CrmCustomerLimitConfigDO customerLimitConfig = CrmCustomerLimitConfigConvert.INSTANCE.convert(createReqVO); 42 CrmCustomerLimitConfigDO customerLimitConfig = CrmCustomerLimitConfigConvert.INSTANCE.convert(createReqVO);
34 customerLimitConfigMapper.insert(customerLimitConfig); 43 customerLimitConfigMapper.insert(customerLimitConfig);
@@ -40,6 +49,7 @@ public class CrmCustomerLimitConfigServiceImpl implements CrmCustomerLimitConfig @@ -40,6 +49,7 @@ public class CrmCustomerLimitConfigServiceImpl implements CrmCustomerLimitConfig
40 public void updateCustomerLimitConfig(CrmCustomerLimitConfigUpdateReqVO updateReqVO) { 49 public void updateCustomerLimitConfig(CrmCustomerLimitConfigUpdateReqVO updateReqVO) {
41 // 校验存在 50 // 校验存在
42 validateCustomerLimitConfigExists(updateReqVO.getId()); 51 validateCustomerLimitConfigExists(updateReqVO.getId());
  52 + validateUserAndDept(updateReqVO.getUserIds(), updateReqVO.getDeptIds());
43 // 更新 53 // 更新
44 CrmCustomerLimitConfigDO updateObj = CrmCustomerLimitConfigConvert.INSTANCE.convert(updateReqVO); 54 CrmCustomerLimitConfigDO updateObj = CrmCustomerLimitConfigConvert.INSTANCE.convert(updateReqVO);
45 customerLimitConfigMapper.updateById(updateObj); 55 customerLimitConfigMapper.updateById(updateObj);
@@ -69,4 +79,15 @@ public class CrmCustomerLimitConfigServiceImpl implements CrmCustomerLimitConfig @@ -69,4 +79,15 @@ public class CrmCustomerLimitConfigServiceImpl implements CrmCustomerLimitConfig
69 } 79 }
70 } 80 }
71 81
  82 + /**
  83 + * 校验入参的用户和部门
  84 + *
  85 + * @param userIds 用户 ids
  86 + * @param deptIds 部门 ids
  87 + */
  88 + private void validateUserAndDept(Collection<Long> userIds, Collection<Long> deptIds) {
  89 + deptApi.validateDeptList(deptIds);
  90 + adminUserApi.validateUserList(userIds);
  91 + }
  92 +
72 } 93 }