Commit a385a37c4af29eaea3d12a4310a4dae398f0b415

Authored by puhui999
1 parent c6422dc6

完善 CRM-客户 数据权限校验2

Showing 10 changed files with 81 additions and 68 deletions
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/convert/permission/CrmPermissionConvert.java
1 package cn.iocoder.yudao.module.crm.convert.permission; 1 package cn.iocoder.yudao.module.crm.convert.permission;
2 2
3 import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; 3 import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO;
4 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateBO;  
5 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionUpdateBO; 4 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
  5 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionUpdateReqBO;
6 import org.mapstruct.Mapper; 6 import org.mapstruct.Mapper;
7 import org.mapstruct.factory.Mappers; 7 import org.mapstruct.factory.Mappers;
8 8
@@ -16,8 +16,8 @@ public interface CrmPermissionConvert { @@ -16,8 +16,8 @@ public interface CrmPermissionConvert {
16 16
17 CrmPermissionConvert INSTANCE = Mappers.getMapper(CrmPermissionConvert.class); 17 CrmPermissionConvert INSTANCE = Mappers.getMapper(CrmPermissionConvert.class);
18 18
19 - CrmPermissionDO convert(CrmPermissionCreateBO createBO); 19 + CrmPermissionDO convert(CrmPermissionCreateReqBO createBO);
20 20
21 - CrmPermissionDO convert(CrmPermissionUpdateBO updateBO); 21 + CrmPermissionDO convert(CrmPermissionUpdateReqBO updateBO);
22 22
23 } 23 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/framework/core/aop/CrmPermissionAspect.java
@@ -81,7 +81,7 @@ public class CrmPermissionAspect { @@ -81,7 +81,7 @@ public class CrmPermissionAspect {
81 } 81 }
82 if (isRead(permissionLevel)) { // 读权限 82 if (isRead(permissionLevel)) { // 读权限
83 // 如果没有数据权限或没有负责人则表示此记录为公海数据所有人都有只读权限 83 // 如果没有数据权限或没有负责人则表示此记录为公海数据所有人都有只读权限
84 - if (CollUtil.isEmpty(bizPermissions) || !CollUtil.anyMatch(bizPermissions, item -> isOwner(item.getPermissionLevel()))) { 84 + if (!CollUtil.anyMatch(bizPermissions, item -> isOwner(item.getPermissionLevel()))) {
85 return; 85 return;
86 } 86 }
87 if (isRead(userPermission.getPermissionLevel())) { // 校验当前用户是否有读权限 87 if (isRead(userPermission.getPermissionLevel())) { // 校验当前用户是否有读权限
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java
@@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.crm.framework.core.annotations.CrmPermission; @@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.crm.framework.core.annotations.CrmPermission;
11 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum; 11 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum;
12 import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum; 12 import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum;
13 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService; 13 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService;
14 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateBO; 14 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
15 import org.springframework.stereotype.Service; 15 import org.springframework.stereotype.Service;
16 import org.springframework.transaction.annotation.Transactional; 16 import org.springframework.transaction.annotation.Transactional;
17 import org.springframework.validation.annotation.Validated; 17 import org.springframework.validation.annotation.Validated;
@@ -46,8 +46,8 @@ public class CrmBusinessServiceImpl implements CrmBusinessService { @@ -46,8 +46,8 @@ public class CrmBusinessServiceImpl implements CrmBusinessService {
46 businessMapper.insert(business); 46 businessMapper.insert(business);
47 47
48 // 创建数据权限 48 // 创建数据权限
49 - crmPermissionService.createCrmPermission(new CrmPermissionCreateBO().setCrmType(CrmBizTypeEnum.CRM_BUSINESS.getType())  
50 - .setCrmDataId(business.getId()).setOwnerUserId(userId)); // 设置当前操作的人为负责人 49 + crmPermissionService.createPermission(new CrmPermissionCreateReqBO().setBizType(CrmBizTypeEnum.CRM_BUSINESS.getType())
  50 + .setBizId(business.getId()).setUserId(userId).setPermissionLevel(CrmPermissionLevelEnum.OWNER.getLevel())); // 设置当前操作的人为负责人
51 51
52 // 返回 52 // 返回
53 return business.getId(); 53 return business.getId();
@@ -117,6 +117,7 @@ public class CrmBusinessServiceImpl implements CrmBusinessService { @@ -117,6 +117,7 @@ public class CrmBusinessServiceImpl implements CrmBusinessService {
117 crmPermissionService.transferCrmPermission( 117 crmPermissionService.transferCrmPermission(
118 CrmBusinessConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_BUSINESS.getType())); 118 CrmBusinessConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_BUSINESS.getType()));
119 119
  120 + // 3. TODO 记录转移日志
120 } 121 }
121 122
122 } 123 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/contact/ContactServiceImpl.java
@@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.crm.framework.core.annotations.CrmPermission; @@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.crm.framework.core.annotations.CrmPermission;
11 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum; 11 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum;
12 import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum; 12 import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum;
13 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService; 13 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService;
14 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateBO; 14 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
15 import org.springframework.stereotype.Service; 15 import org.springframework.stereotype.Service;
16 import org.springframework.transaction.annotation.Transactional; 16 import org.springframework.transaction.annotation.Transactional;
17 import org.springframework.validation.annotation.Validated; 17 import org.springframework.validation.annotation.Validated;
@@ -46,8 +46,8 @@ public class ContactServiceImpl implements ContactService { @@ -46,8 +46,8 @@ public class ContactServiceImpl implements ContactService {
46 contactMapper.insert(contact); 46 contactMapper.insert(contact);
47 47
48 // 创建数据权限 48 // 创建数据权限
49 - crmPermissionService.createCrmPermission(new CrmPermissionCreateBO().setCrmType(CrmBizTypeEnum.CRM_BUSINESS.getType())  
50 - .setCrmDataId(contact.getId()).setOwnerUserId(userId)); // 设置当前操作的人为负责人 49 + crmPermissionService.createPermission(new CrmPermissionCreateReqBO().setBizType(CrmBizTypeEnum.CRM_CONTACTS.getType())
  50 + .setBizId(contact.getId()).setUserId(userId).setPermissionLevel(CrmPermissionLevelEnum.OWNER.getLevel())); // 设置当前操作的人为负责人
51 51
52 // 返回 52 // 返回
53 return contact.getId(); 53 return contact.getId();
@@ -55,7 +55,8 @@ public class ContactServiceImpl implements ContactService { @@ -55,7 +55,8 @@ public class ContactServiceImpl implements ContactService {
55 55
56 @Override 56 @Override
57 @Transactional(rollbackFor = Exception.class) 57 @Transactional(rollbackFor = Exception.class)
58 - @CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTACTS, permissionLevel = CrmPermissionLevelEnum.WRITE) 58 + @CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTACTS, getIdFor = ContactUpdateReqVO.class,
  59 + permissionLevel = CrmPermissionLevelEnum.WRITE)
59 public void updateContact(ContactUpdateReqVO updateReqVO) { 60 public void updateContact(ContactUpdateReqVO updateReqVO) {
60 // 校验存在 61 // 校验存在
61 validateContactExists(updateReqVO.getId()); 62 validateContactExists(updateReqVO.getId());
@@ -117,6 +118,7 @@ public class ContactServiceImpl implements ContactService { @@ -117,6 +118,7 @@ public class ContactServiceImpl implements ContactService {
117 crmPermissionService.transferCrmPermission( 118 crmPermissionService.transferCrmPermission(
118 ContactConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_CONTACTS.getType())); 119 ContactConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_CONTACTS.getType()));
119 120
  121 + // 3. TODO 记录转移日志
120 } 122 }
121 123
122 } 124 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/contract/ContractServiceImpl.java
@@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.crm.framework.core.annotations.CrmPermission; @@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.crm.framework.core.annotations.CrmPermission;
11 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum; 11 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum;
12 import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum; 12 import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum;
13 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService; 13 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService;
14 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateBO; 14 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
15 import org.springframework.stereotype.Service; 15 import org.springframework.stereotype.Service;
16 import org.springframework.transaction.annotation.Transactional; 16 import org.springframework.transaction.annotation.Transactional;
17 import org.springframework.validation.annotation.Validated; 17 import org.springframework.validation.annotation.Validated;
@@ -45,8 +45,8 @@ public class ContractServiceImpl implements ContractService { @@ -45,8 +45,8 @@ public class ContractServiceImpl implements ContractService {
45 contractMapper.insert(contract); 45 contractMapper.insert(contract);
46 46
47 // 创建数据权限 47 // 创建数据权限
48 - crmPermissionService.createCrmPermission(new CrmPermissionCreateBO().setCrmType(CrmBizTypeEnum.CRM_CONTRACT.getType())  
49 - .setCrmDataId(contract.getId()).setOwnerUserId(userId)); // 设置当前操作的人为负责人 48 + crmPermissionService.createPermission(new CrmPermissionCreateReqBO().setBizType(CrmBizTypeEnum.CRM_CONTRACT.getType())
  49 + .setBizId(contract.getId()).setUserId(userId).setPermissionLevel(CrmPermissionLevelEnum.OWNER.getLevel())); // 设置当前操作的人为负责人
50 50
51 // 返回 51 // 返回
52 return contract.getId(); 52 return contract.getId();
@@ -54,7 +54,8 @@ public class ContractServiceImpl implements ContractService { @@ -54,7 +54,8 @@ public class ContractServiceImpl implements ContractService {
54 54
55 @Override 55 @Override
56 @Transactional(rollbackFor = Exception.class) 56 @Transactional(rollbackFor = Exception.class)
57 - @CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTRACT, permissionLevel = CrmPermissionLevelEnum.WRITE) 57 + @CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTRACT, getIdFor = ContractUpdateReqVO.class,
  58 + permissionLevel = CrmPermissionLevelEnum.WRITE)
58 public void updateContract(ContractUpdateReqVO updateReqVO) { 59 public void updateContract(ContractUpdateReqVO updateReqVO) {
59 // 校验存在 60 // 校验存在
60 validateContractExists(updateReqVO.getId()); 61 validateContractExists(updateReqVO.getId());
@@ -115,6 +116,7 @@ public class ContractServiceImpl implements ContractService { @@ -115,6 +116,7 @@ public class ContractServiceImpl implements ContractService {
115 crmPermissionService.transferCrmPermission( 116 crmPermissionService.transferCrmPermission(
116 ContractConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_CONTRACT.getType())); 117 ContractConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_CONTRACT.getType()));
117 118
  119 + // 3. TODO 记录转移日志
118 } 120 }
119 121
120 } 122 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java
@@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.crm.framework.core.annotations.CrmPermission; @@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.crm.framework.core.annotations.CrmPermission;
11 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum; 11 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum;
12 import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum; 12 import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum;
13 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService; 13 import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService;
14 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateBO; 14 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
15 import cn.iocoder.yudao.module.system.api.dept.DeptApi; 15 import cn.iocoder.yudao.module.system.api.dept.DeptApi;
16 import org.springframework.stereotype.Service; 16 import org.springframework.stereotype.Service;
17 import org.springframework.transaction.annotation.Transactional; 17 import org.springframework.transaction.annotation.Transactional;
@@ -48,8 +48,8 @@ public class CrmCustomerServiceImpl implements CrmCustomerService { @@ -48,8 +48,8 @@ public class CrmCustomerServiceImpl implements CrmCustomerService {
48 customerMapper.insert(customer); 48 customerMapper.insert(customer);
49 49
50 // 创建数据权限 50 // 创建数据权限
51 - crmPermissionService.createCrmPermission(new CrmPermissionCreateBO().setCrmType(CrmBizTypeEnum.CRM_CUSTOMER.getType())  
52 - .setCrmDataId(customer.getId()).setOwnerUserId(userId)); // 设置当前操作的人为负责人 51 + crmPermissionService.createPermission(new CrmPermissionCreateReqBO().setBizType(CrmBizTypeEnum.CRM_CUSTOMER.getType())
  52 + .setBizId(customer.getId()).setUserId(userId).setPermissionLevel(CrmPermissionLevelEnum.OWNER.getLevel())); // 设置当前操作的人为负责人
53 53
54 // 返回 54 // 返回
55 return customer.getId(); 55 return customer.getId();
@@ -57,7 +57,8 @@ public class CrmCustomerServiceImpl implements CrmCustomerService { @@ -57,7 +57,8 @@ public class CrmCustomerServiceImpl implements CrmCustomerService {
57 57
58 @Override 58 @Override
59 @Transactional(rollbackFor = Exception.class) 59 @Transactional(rollbackFor = Exception.class)
60 - @CrmPermission(bizType = CrmBizTypeEnum.CRM_CUSTOMER, permissionLevel = CrmPermissionLevelEnum.WRITE) 60 + @CrmPermission(bizType = CrmBizTypeEnum.CRM_CUSTOMER, getIdFor = CrmCustomerUpdateReqVO.class,
  61 + permissionLevel = CrmPermissionLevelEnum.WRITE)
61 public void updateCustomer(CrmCustomerUpdateReqVO updateReqVO) { 62 public void updateCustomer(CrmCustomerUpdateReqVO updateReqVO) {
62 // 校验存在 63 // 校验存在
63 validateCustomerExists(updateReqVO.getId()); 64 validateCustomerExists(updateReqVO.getId());
@@ -112,6 +113,7 @@ public class CrmCustomerServiceImpl implements CrmCustomerService { @@ -112,6 +113,7 @@ public class CrmCustomerServiceImpl implements CrmCustomerService {
112 } 113 }
113 114
114 // TODO wanwan:service 接口已经注释,实现类就不需要了。 115 // TODO wanwan:service 接口已经注释,实现类就不需要了。
  116 +
115 /** 117 /**
116 * 校验客户是否存在 118 * 校验客户是否存在
117 * 119 *
@@ -136,6 +138,8 @@ public class CrmCustomerServiceImpl implements CrmCustomerService { @@ -136,6 +138,8 @@ public class CrmCustomerServiceImpl implements CrmCustomerService {
136 // 2. 数据权限转移 138 // 2. 数据权限转移
137 crmPermissionService.transferCrmPermission( 139 crmPermissionService.transferCrmPermission(
138 CrmCustomerConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_CUSTOMER.getType())); 140 CrmCustomerConvert.INSTANCE.convert(reqVO, userId).setBizType(CrmBizTypeEnum.CRM_CUSTOMER.getType()));
  141 +
  142 + // 3. TODO 记录转移日志
139 } 143 }
140 144
141 } 145 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionService.java
@@ -3,8 +3,8 @@ package cn.iocoder.yudao.module.crm.service.permission; @@ -3,8 +3,8 @@ package cn.iocoder.yudao.module.crm.service.permission;
3 3
4 import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; 4 import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO;
5 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum; 5 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum;
6 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateBO;  
7 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionUpdateBO; 6 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
  7 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionUpdateReqBO;
8 import cn.iocoder.yudao.module.crm.service.permission.bo.CrmTransferPermissionReqBO; 8 import cn.iocoder.yudao.module.crm.service.permission.bo.CrmTransferPermissionReqBO;
9 9
10 import javax.validation.Valid; 10 import javax.validation.Valid;
@@ -24,21 +24,21 @@ public interface CrmPermissionService { @@ -24,21 +24,21 @@ public interface CrmPermissionService {
24 * @param createBO 创建信息 24 * @param createBO 创建信息
25 * @return 编号 25 * @return 编号
26 */ 26 */
27 - Long createCrmPermission(@Valid CrmPermissionCreateBO createBO); 27 + Long createPermission(@Valid CrmPermissionCreateReqBO createBO);
28 28
29 /** 29 /**
30 * 更新数据权限 30 * 更新数据权限
31 * 31 *
32 * @param updateBO 更新信息 32 * @param updateBO 更新信息
33 */ 33 */
34 - void updateCrmPermission(@Valid CrmPermissionUpdateBO updateBO); 34 + void updatePermission(@Valid CrmPermissionUpdateReqBO updateBO);
35 35
36 /** 36 /**
37 * 删除数据权限 37 * 删除数据权限
38 * 38 *
39 * @param id 编号 39 * @param id 编号
40 */ 40 */
41 - void deleteCrmPermission(Long id); 41 + void deletePermission(Long id);
42 42
43 /** 43 /**
44 * 获取用户数据权限通过 数据类型 x 某个数据 x 用户编号 44 * 获取用户数据权限通过 数据类型 x 某个数据 x 用户编号
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionServiceImpl.java
@@ -7,8 +7,8 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; @@ -7,8 +7,8 @@ import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO;
7 import cn.iocoder.yudao.module.crm.dal.mysql.permission.CrmPermissionMapper; 7 import cn.iocoder.yudao.module.crm.dal.mysql.permission.CrmPermissionMapper;
8 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum; 8 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum;
9 import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum; 9 import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum;
10 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateBO;  
11 -import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionUpdateBO; 10 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
  11 +import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionUpdateReqBO;
12 import cn.iocoder.yudao.module.crm.service.permission.bo.CrmTransferPermissionReqBO; 12 import cn.iocoder.yudao.module.crm.service.permission.bo.CrmTransferPermissionReqBO;
13 import cn.iocoder.yudao.module.system.api.user.AdminUserApi; 13 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
14 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; 14 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
@@ -40,7 +40,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { @@ -40,7 +40,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
40 40
41 @Override 41 @Override
42 @Transactional(rollbackFor = Exception.class) 42 @Transactional(rollbackFor = Exception.class)
43 - public Long createCrmPermission(CrmPermissionCreateBO createBO) { 43 + public Long createPermission(CrmPermissionCreateReqBO createBO) {
44 CrmPermissionDO permission = CrmPermissionConvert.INSTANCE.convert(createBO); 44 CrmPermissionDO permission = CrmPermissionConvert.INSTANCE.convert(createBO);
45 crmPermissionMapper.insert(permission); 45 crmPermissionMapper.insert(permission);
46 return permission.getId(); 46 return permission.getId();
@@ -48,7 +48,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { @@ -48,7 +48,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
48 48
49 @Override 49 @Override
50 @Transactional(rollbackFor = Exception.class) 50 @Transactional(rollbackFor = Exception.class)
51 - public void updateCrmPermission(CrmPermissionUpdateBO updateBO) { 51 + public void updatePermission(CrmPermissionUpdateReqBO updateBO) {
52 validateCrmPermissionExists(updateBO.getId()); 52 validateCrmPermissionExists(updateBO.getId());
53 // 更新操作 53 // 更新操作
54 CrmPermissionDO updateDO = CrmPermissionConvert.INSTANCE.convert(updateBO); 54 CrmPermissionDO updateDO = CrmPermissionConvert.INSTANCE.convert(updateBO);
@@ -57,7 +57,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { @@ -57,7 +57,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
57 57
58 @Override 58 @Override
59 @Transactional(rollbackFor = Exception.class) 59 @Transactional(rollbackFor = Exception.class)
60 - public void deleteCrmPermission(Long id) { 60 + public void deletePermission(Long id) {
61 validateCrmPermissionExists(id); 61 validateCrmPermissionExists(id);
62 // 删除 62 // 删除
63 crmPermissionMapper.deleteById(id); 63 crmPermissionMapper.deleteById(id);
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/bo/CrmPermissionCreateBO.java renamed to yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/bo/CrmPermissionCreateReqBO.java
1 package cn.iocoder.yudao.module.crm.service.permission.bo; 1 package cn.iocoder.yudao.module.crm.service.permission.bo;
2 2
  3 +import cn.iocoder.yudao.framework.common.validation.InEnum;
3 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum; 4 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum;
  5 +import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum;
4 import lombok.Data; 6 import lombok.Data;
5 7
6 import javax.validation.constraints.NotNull; 8 import javax.validation.constraints.NotNull;
7 -import java.util.Set;  
8 9
9 -// TODO @puhui999:,一个是 Crm 前缀,一个 Req 表示入参  
10 /** 10 /**
11 - * crm 数据权限 Create BO 11 + * crm 数据权限 Create Req BO
12 * 12 *
13 * @author HUIHUI 13 * @author HUIHUI
14 */ 14 */
15 @Data 15 @Data
16 -public class CrmPermissionCreateBO { 16 +public class CrmPermissionCreateReqBO {
17 17
18 - // TODO @puhui999:如果是关联字段,换一行写它的注释;不然看着略乱哈 18 + /**
  19 + * 当前登录用户编号
  20 + */
  21 + @NotNull(message = "用户编号不能为空")
  22 + private Long userId;
19 23
20 /** 24 /**
21 - * Crm 类型 关联 {@link CrmBizTypeEnum} 25 + * Crm 类型
22 */ 26 */
23 @NotNull(message = "Crm 类型不能为空") 27 @NotNull(message = "Crm 类型不能为空")
24 - private Integer crmType; 28 + @InEnum(CrmBizTypeEnum.class)
  29 + private Integer bizType;
  30 +
25 /** 31 /**
26 - * 数据编号 关联 {@link CrmBizTypeEnum} 对应模块 DO#getId() 32 + * 数据编号
27 */ 33 */
28 @NotNull(message = "Crm 数据编号不能为空") 34 @NotNull(message = "Crm 数据编号不能为空")
29 - private Long crmDataId; 35 + private Long bizId;
30 36
31 /** 37 /**
32 - * 负责人的用户编号 关联 AdminUser#id, null 则为公海数据  
33 - */  
34 - private Long ownerUserId;  
35 - /**  
36 - * 只读权限的用户编号数组  
37 - */  
38 - private Set<Long> roUserIds;  
39 - /**  
40 - * 读写权限的用户编号数组 38 + * 权限级别
  39 + * 关联 {@link CrmPermissionLevelEnum}
41 */ 40 */
42 - private Set<Long> rwUserIds; 41 + @NotNull(message = "权限级别不能为空")
  42 + @InEnum(CrmPermissionLevelEnum.class)
  43 + private Integer permissionLevel;
43 44
44 } 45 }
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/bo/CrmPermissionUpdateBO.java renamed to yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/permission/bo/CrmPermissionUpdateReqBO.java
1 package cn.iocoder.yudao.module.crm.service.permission.bo; 1 package cn.iocoder.yudao.module.crm.service.permission.bo;
2 2
  3 +import cn.iocoder.yudao.framework.common.validation.InEnum;
3 import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO; 4 import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO;
4 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum; 5 import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum;
  6 +import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum;
5 import lombok.Data; 7 import lombok.Data;
6 8
7 import javax.validation.constraints.NotNull; 9 import javax.validation.constraints.NotNull;
8 -import java.util.Set;  
9 10
10 -// TODO @puhui999:,一个是 Crm 前缀,一个 Req 表示入参  
11 /** 11 /**
12 - * crm 数据权限 Update BO 12 + * crm 数据权限 Update Req BO
13 * 13 *
14 * @author HUIHUI 14 * @author HUIHUI
15 */ 15 */
16 @Data 16 @Data
17 -public class CrmPermissionUpdateBO { 17 +public class CrmPermissionUpdateReqBO {
18 18
19 - // TODO @puhui999:id 和 crmType + crmDataId 是不是重叠了;  
20 /** 19 /**
21 * 数据权限编号 {@link CrmPermissionDO#getId()} 20 * 数据权限编号 {@link CrmPermissionDO#getId()}
22 */ 21 */
@@ -24,26 +23,30 @@ public class CrmPermissionUpdateBO { @@ -24,26 +23,30 @@ public class CrmPermissionUpdateBO {
24 private Long id; 23 private Long id;
25 24
26 /** 25 /**
27 - * Crm 类型 关联 {@link CrmBizTypeEnum} 26 + * 当前登录用户编号
28 */ 27 */
29 - @NotNull(message = "Crm 类型不能为空")  
30 - private Integer crmType;  
31 - /**  
32 - * 数据编号 关联 {@link CrmBizTypeEnum} 对应模块 DO#getId()  
33 - */  
34 - @NotNull(message = "Crm 数据编号不能为空")  
35 - private Long crmDataId; 28 + @NotNull(message = "用户编号不能为空")
  29 + private Long userId;
  30 +
36 /** 31 /**
37 - * 负责人的用户编号 关联 AdminUser#id, null 则为公海数据 32 + * Crm 类型
38 */ 33 */
39 - private Long ownerUserId; 34 + @NotNull(message = "Crm 类型不能为空")
  35 + @InEnum(CrmBizTypeEnum.class)
  36 + private Integer bizType;
  37 +
40 /** 38 /**
41 - * 只读权限的用户编号数组 39 + * 数据编号
42 */ 40 */
43 - private Set<Long> roUserIds; 41 + @NotNull(message = "Crm 数据编号不能为空")
  42 + private Long bizId;
  43 +
44 /** 44 /**
45 - * 读写权限的用户编号数组 45 + * 权限级别
  46 + * 关联 {@link CrmPermissionLevelEnum}
46 */ 47 */
47 - private Set<Long> rwUserIds; 48 + @NotNull(message = "权限级别不能为空")
  49 + @InEnum(CrmPermissionLevelEnum.class)
  50 + private Integer permissionLevel;
48 51
49 } 52 }