|
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.crm.service.permission;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ObjUtil;
|
|
|
+import cn.iocoder.yudao.module.crm.controller.admin.permission.vo.CrmPermissionUpdateReqVO;
|
|
|
import cn.iocoder.yudao.module.crm.convert.permission.CrmPermissionConvert;
|
|
|
import cn.iocoder.yudao.module.crm.dal.dataobject.permission.CrmPermissionDO;
|
|
|
import cn.iocoder.yudao.module.crm.dal.mysql.permission.CrmPermissionMapper;
|
|
@@ -9,7 +10,6 @@ import cn.iocoder.yudao.module.crm.framework.enums.CrmBizTypeEnum;
|
|
|
import cn.iocoder.yudao.module.crm.framework.enums.CrmPermissionLevelEnum;
|
|
|
import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
|
|
|
import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionTransferReqBO;
|
|
|
-import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionUpdateReqBO;
|
|
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -53,25 +53,22 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void updatePermission(CrmPermissionUpdateReqBO updateBO) {
|
|
|
- // 1.1 校验用户是否存在
|
|
|
- adminUserApi.validateUserList(Collections.singletonList(updateBO.getUserId()));
|
|
|
- // 1.2 校验存在
|
|
|
- validateCrmPermissionExists(updateBO.getId());
|
|
|
-
|
|
|
- // 2. 更新操作
|
|
|
- CrmPermissionDO updateDO = CrmPermissionConvert.INSTANCE.convert(updateBO);
|
|
|
- crmPermissionMapper.updateById(updateDO);
|
|
|
+ public void updatePermission(CrmPermissionUpdateReqVO updateReqVO) {
|
|
|
+ // 校验存在
|
|
|
+ validateCrmPermissionExists(updateReqVO.getIds());
|
|
|
+
|
|
|
+ List<CrmPermissionDO> updateDO = CrmPermissionConvert.INSTANCE.convertList(updateReqVO);
|
|
|
+ crmPermissionMapper.updateBatch(updateDO);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public void deletePermission(Long id) {
|
|
|
+ public void deletePermission(Collection<Long> ids) {
|
|
|
// 校验存在
|
|
|
- validateCrmPermissionExists(id);
|
|
|
+ validateCrmPermissionExists(ids);
|
|
|
|
|
|
// 删除
|
|
|
- crmPermissionMapper.deleteById(id);
|
|
|
+ crmPermissionMapper.deleteBatchIds(ids);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -79,6 +76,11 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
|
|
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);
|
|
@@ -89,13 +91,16 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
|
|
return crmPermissionMapper.selectListByBizTypeAndBizIdsAndLevel(bizType, bizIds, level);
|
|
|
}
|
|
|
|
|
|
- private void validateCrmPermissionExists(Long id) {
|
|
|
- if (crmPermissionMapper.selectById(id) == null) {
|
|
|
+ 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) {
|
|
|
// 1. 校验数据权限-是否是负责人,只有负责人才可以转移
|
|
|
CrmPermissionDO oldPermission = crmPermissionMapper.selectByBizTypeAndBizIdByUserId(transferReqBO.getBizType(),
|
|
@@ -142,6 +147,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
|
|
}
|
|
|
|
|
|
@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) { // 不存在则模块数据也不存在
|
|
@@ -152,6 +158,7 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void putPool(Integer bizType, Long bizId, Long userId) {
|
|
|
CrmPermissionDO permission = crmPermissionMapper.selectByBizTypeAndBizIdByUserId(bizType, bizId, userId);
|
|
|
if (permission == null) { // 不存在则模块数据也不存在
|