Commit a385a37c4af29eaea3d12a4310a4dae398f0b415
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 | } |