Commit c96f6bb3607481fcac7cb10be17be4e2e3477299

Authored by YunaiV
1 parent af94536a

fix:【CRM 客户管理】CRM 超管,无法强制转移数据的问题

yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionServiceImpl.java
@@ -210,12 +210,12 @@ public class CrmPermissionServiceImpl implements CrmPermissionService { @@ -210,12 +210,12 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
210 CrmPermissionDO oldPermission = permissionMapper.selectByBizTypeAndBizIdByUserId( 210 CrmPermissionDO oldPermission = permissionMapper.selectByBizTypeAndBizIdByUserId(
211 transferReqBO.getBizType(), transferReqBO.getBizId(), transferReqBO.getUserId()); 211 transferReqBO.getBizType(), transferReqBO.getBizId(), transferReqBO.getUserId());
212 String bizTypeName = CrmBizTypeEnum.getNameByType(transferReqBO.getBizType()); 212 String bizTypeName = CrmBizTypeEnum.getNameByType(transferReqBO.getBizType());
213 - if (oldPermission == null // 不是拥有者,并且不是超管  
214 - || (!isOwner(oldPermission.getLevel()) && !CrmPermissionUtils.isCrmAdmin())) { 213 + if ((oldPermission == null || !isOwner(oldPermission.getLevel()))
  214 + && !CrmPermissionUtils.isCrmAdmin()) { // 并且不是超管
215 throw exception(CRM_PERMISSION_DENIED, bizTypeName); 215 throw exception(CRM_PERMISSION_DENIED, bizTypeName);
216 } 216 }
217 // 1.1 校验转移对象是否已经是该负责人 217 // 1.1 校验转移对象是否已经是该负责人
218 - if (ObjUtil.equal(transferReqBO.getNewOwnerUserId(), oldPermission.getUserId())) { 218 + if (oldPermission != null && ObjUtil.equal(transferReqBO.getNewOwnerUserId(), oldPermission.getUserId())) {
219 throw exception(CRM_PERMISSION_MODEL_TRANSFER_FAIL_OWNER_USER_EXISTS, bizTypeName); 219 throw exception(CRM_PERMISSION_MODEL_TRANSFER_FAIL_OWNER_USER_EXISTS, bizTypeName);
220 } 220 }
221 // 1.2 校验新负责人是否存在 221 // 1.2 校验新负责人是否存在