|
@@ -21,6 +21,7 @@ import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
|
|
import static cn.iocoder.yudao.module.crm.enums.ErrorCodeConstants.*;
|
|
|
import static cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum.isOwner;
|
|
|
|
|
@@ -61,52 +62,6 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
|
|
crmPermissionMapper.updateBatch(updateDO);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public void deletePermission(Collection<Long> ids) {
|
|
|
- // 校验存在
|
|
|
- validateCrmPermissionExists(ids);
|
|
|
-
|
|
|
- // 删除
|
|
|
- crmPermissionMapper.deleteBatchIds(ids);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public CrmPermissionDO getPermissionByBizTypeAndBizIdAndUserId(Integer bizType, Long bizId, Long userId) {
|
|
|
- return crmPermissionMapper.selectByBizTypeAndBizIdByUserId(bizType, bizId, userId);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public CrmPermissionDO getPermissionByIdAndUserId(Long id, Long userId) {
|
|
|
- return crmPermissionMapper.selectByIdAndUserId(id, userId);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<CrmPermissionDO> getPermissionByBizTypeAndBizId(Integer bizType, Long bizId) {
|
|
|
- return crmPermissionMapper.selectByBizTypeAndBizId(bizType, bizId);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<CrmPermissionDO> getPermissionByBizTypeAndBizIdsAndLevel(Integer bizType, Collection<Long> bizIds, Integer level) {
|
|
|
- return crmPermissionMapper.selectListByBizTypeAndBizIdsAndLevel(bizType, bizIds, level);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public List<CrmPermissionDO> getPermissionListByIds(Collection<Long> ids) {
|
|
|
- if (CollUtil.isEmpty(ids)) {
|
|
|
- return Collections.emptyList();
|
|
|
- }
|
|
|
- return crmPermissionMapper.selectBatchIds(ids);
|
|
|
- }
|
|
|
-
|
|
|
- private void validateCrmPermissionExists(Collection<Long> ids) {
|
|
|
- List<CrmPermissionDO> permissionList = crmPermissionMapper.selectBatchIds(ids);
|
|
|
- // 校验存在
|
|
|
- if (ObjUtil.notEqual(permissionList.size(), ids.size())) {
|
|
|
- throw exception(CRM_PERMISSION_NOT_EXISTS);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void transferPermission(CrmPermissionTransferReqBO transferReqBO) {
|
|
@@ -149,30 +104,57 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<CrmPermissionDO> getPermissionListByBizTypeAndUserId(Integer bizType, Long userId) {
|
|
|
- return crmPermissionMapper.selectListByBizTypeAndUserId(bizType, userId);
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void deletePermission(Collection<Long> ids) {
|
|
|
+ // 校验存在
|
|
|
+ validateCrmPermissionExists(ids);
|
|
|
+
|
|
|
+ // 删除
|
|
|
+ crmPermissionMapper.deleteBatchIds(ids);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void receiveBiz(Integer bizType, Long bizId, Long userId) {
|
|
|
- //CrmPermissionDO permission = crmPermissionMapper.selectByBizTypeAndBizIdByUserId(bizType, bizId, CrmPermissionDO.POOL_USER_ID);
|
|
|
- //if (permission == null) { // 不存在则模块数据也不存在
|
|
|
- // throw exception(CRM_PERMISSION_MODEL_NOT_EXISTS, CrmBizTypeEnum.getNameByType(bizType));
|
|
|
- //}
|
|
|
- //
|
|
|
- //crmPermissionMapper.updateById(new CrmPermissionDO().setId(permission.getId()).setUserId(userId));
|
|
|
- // TODO puhui999: 领取数据后需要创建一个负责人数据权限
|
|
|
+ public void deletePermission(Integer bizType, Long bizId, Integer level) {
|
|
|
+ List<CrmPermissionDO> permissions = crmPermissionMapper.selectListByBizTypeAndBizIdAndLevel(bizType, bizId, level);
|
|
|
+ // 校验存在
|
|
|
+ if (CollUtil.isEmpty(permissions)) {
|
|
|
+ throw exception(CRM_PERMISSION_NOT_EXISTS);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除数据权限
|
|
|
+ crmPermissionMapper.deleteBatchIds(convertSet(permissions, CrmPermissionDO::getId));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
- public void putPool(Integer bizType, Long bizId, Long userId) {
|
|
|
- CrmPermissionDO permission = crmPermissionMapper.selectByBizTypeAndBizIdByUserId(bizType, bizId, userId);
|
|
|
- if (permission == null) { // 不存在则模块数据也不存在
|
|
|
- throw exception(CRM_PERMISSION_MODEL_NOT_EXISTS, CrmBizTypeEnum.getNameByType(bizType));
|
|
|
+ public CrmPermissionDO getPermissionByIdAndUserId(Long id, Long userId) {
|
|
|
+ return crmPermissionMapper.selectByIdAndUserId(id, userId);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CrmPermissionDO> getPermissionByBizTypeAndBizId(Integer bizType, Long bizId) {
|
|
|
+ return crmPermissionMapper.selectByBizTypeAndBizId(bizType, bizId);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CrmPermissionDO> getPermissionListByIds(Collection<Long> ids) {
|
|
|
+ if (CollUtil.isEmpty(ids)) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+ return crmPermissionMapper.selectBatchIds(ids);
|
|
|
+ }
|
|
|
+
|
|
|
+ private void validateCrmPermissionExists(Collection<Long> ids) {
|
|
|
+ List<CrmPermissionDO> permissionList = crmPermissionMapper.selectBatchIds(ids);
|
|
|
+ // 校验存在
|
|
|
+ if (ObjUtil.notEqual(permissionList.size(), ids.size())) {
|
|
|
+ throw exception(CRM_PERMISSION_NOT_EXISTS);
|
|
|
}
|
|
|
- // TODO puhui999: 数据放入公海后删除负责人的数据权限,完事数据负责人设置为 null
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CrmPermissionDO> getPermissionListByBizTypeAndUserId(Integer bizType, Long userId) {
|
|
|
+ return crmPermissionMapper.selectListByBizTypeAndUserId(bizType, userId);
|
|
|
}
|
|
|
|
|
|
}
|