mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-02-08 22:54:59 +08:00
CRM:完善模块数据放入公海、公海数据领取
This commit is contained in:
parent
533b7295ab
commit
388e07c834
@ -32,10 +32,13 @@ import java.util.Collections;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.function.Predicate;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.anyMatch;
|
||||||
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
|
||||||
|
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
||||||
|
|
||||||
@Tag(name = "管理后台 - CRM 数据权限(数据团队成员操作)")
|
@Tag(name = "管理后台 - CRM 数据权限(数据团队成员操作)")
|
||||||
@RestController
|
@RestController
|
||||||
@ -44,7 +47,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
|
|||||||
public class CrmPermissionController {
|
public class CrmPermissionController {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private CrmPermissionService crmPermissionService;
|
private CrmPermissionService permissionService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private AdminUserApi adminUserApi;
|
private AdminUserApi adminUserApi;
|
||||||
@ -59,11 +62,27 @@ public class CrmPermissionController {
|
|||||||
@CrmPermission(bizType = CrmBizTypeEnum.CRM_PERMISSION, bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId"
|
@CrmPermission(bizType = CrmBizTypeEnum.CRM_PERMISSION, bizTypeValue = "#reqVO.bizType", bizId = "#reqVO.bizId"
|
||||||
, level = CrmPermissionLevelEnum.OWNER)
|
, level = CrmPermissionLevelEnum.OWNER)
|
||||||
public CommonResult<Boolean> addPermission(@Valid @RequestBody CrmPermissionCreateReqVO reqVO) {
|
public CommonResult<Boolean> addPermission(@Valid @RequestBody CrmPermissionCreateReqVO reqVO) {
|
||||||
// 2. 加入成员
|
permissionService.createPermission(CrmPermissionConvert.INSTANCE.convert(reqVO));
|
||||||
crmPermissionService.createPermission(CrmPermissionConvert.INSTANCE.convert(reqVO));
|
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PutMapping("/receive")
|
||||||
|
@Operation(summary = "领取公海数据")
|
||||||
|
@PreAuthorize("@ss.hasPermission('crm:permission:update')")
|
||||||
|
public CommonResult<Boolean> receive(@RequestParam("bizType") Integer bizType, @RequestParam("bizId") Long bizId) {
|
||||||
|
permissionService.receiveBiz(bizType, bizId, getLoginUserId());
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/put-pool")
|
||||||
|
@Operation(summary = "数据放入公海")
|
||||||
|
@PreAuthorize("@ss.hasPermission('crm:permission:update')")
|
||||||
|
@CrmPermission(bizType = CrmBizTypeEnum.CRM_PERMISSION, bizTypeValue = "#bizType", bizId = "#bizId"
|
||||||
|
, level = CrmPermissionLevelEnum.OWNER)
|
||||||
|
public CommonResult<Boolean> putPool(@RequestParam(value = "bizType") Integer bizType, @RequestParam("bizId") Long bizId) {
|
||||||
|
permissionService.putPool(bizType, bizId, getLoginUserId());
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
@PutMapping("/update")
|
@PutMapping("/update")
|
||||||
@Operation(summary = "编辑团队成员")
|
@Operation(summary = "编辑团队成员")
|
||||||
@ -71,7 +90,7 @@ public class CrmPermissionController {
|
|||||||
@CrmPermission(bizType = CrmBizTypeEnum.CRM_PERMISSION, bizTypeValue = "#updateReqVO.bizType", bizId = "#updateReqVO.bizId"
|
@CrmPermission(bizType = CrmBizTypeEnum.CRM_PERMISSION, bizTypeValue = "#updateReqVO.bizType", bizId = "#updateReqVO.bizId"
|
||||||
, level = CrmPermissionLevelEnum.WRITE)
|
, level = CrmPermissionLevelEnum.WRITE)
|
||||||
public CommonResult<Boolean> updatePermission(@Valid @RequestBody CrmPermissionUpdateReqVO updateReqVO) {
|
public CommonResult<Boolean> updatePermission(@Valid @RequestBody CrmPermissionUpdateReqVO updateReqVO) {
|
||||||
crmPermissionService.updatePermission(CrmPermissionConvert.INSTANCE.convert(updateReqVO));
|
permissionService.updatePermission(CrmPermissionConvert.INSTANCE.convert(updateReqVO));
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,7 +107,7 @@ public class CrmPermissionController {
|
|||||||
public CommonResult<Boolean> deletePermission(@RequestParam("bizType") Integer bizType,
|
public CommonResult<Boolean> deletePermission(@RequestParam("bizType") Integer bizType,
|
||||||
@RequestParam("bizId") Long bizId,
|
@RequestParam("bizId") Long bizId,
|
||||||
@RequestParam("id") Long id) {
|
@RequestParam("id") Long id) {
|
||||||
crmPermissionService.deletePermission(id);
|
permissionService.deletePermission(id);
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,12 +120,16 @@ public class CrmPermissionController {
|
|||||||
@PreAuthorize("@ss.hasPermission('crm:permission:query')")
|
@PreAuthorize("@ss.hasPermission('crm:permission:query')")
|
||||||
public CommonResult<List<CrmPermissionRespVO>> getPermissionList(@RequestParam("bizType") Integer bizType,
|
public CommonResult<List<CrmPermissionRespVO>> getPermissionList(@RequestParam("bizType") Integer bizType,
|
||||||
@RequestParam("bizId") Long bizId) {
|
@RequestParam("bizId") Long bizId) {
|
||||||
List<CrmPermissionDO> permission = crmPermissionService.getPermissionByBizTypeAndBizId(bizType, bizId);
|
List<CrmPermissionDO> permission = permissionService.getPermissionByBizTypeAndBizId(bizType, bizId);
|
||||||
if (CollUtil.isEmpty(permission)) {
|
if (CollUtil.isEmpty(permission)) {
|
||||||
return success(Collections.emptyList());
|
return success(Collections.emptyList());
|
||||||
}
|
}
|
||||||
// TODO @puhui999:池子的逻辑;
|
// TODO @puhui999:池子的逻辑;
|
||||||
permission.removeIf(item -> ObjUtil.equal(item.getUserId(), CrmPermissionDO.POOL_USER_ID)); // 排除
|
// 判断是否是公海数据
|
||||||
|
Predicate<CrmPermissionDO> filter = item -> ObjUtil.equal(item.getUserId(), CrmPermissionDO.POOL_USER_ID);
|
||||||
|
if (anyMatch(permission, filter)) {
|
||||||
|
permission.removeIf(filter); // 排除
|
||||||
|
}
|
||||||
|
|
||||||
// 拼接数据
|
// 拼接数据
|
||||||
List<AdminUserRespDTO> userList = adminUserApi.getUserList(convertSet(permission, CrmPermissionDO::getUserId));
|
List<AdminUserRespDTO> userList = adminUserApi.getUserList(convertSet(permission, CrmPermissionDO::getUserId));
|
||||||
|
@ -85,4 +85,22 @@ public interface CrmPermissionService {
|
|||||||
*/
|
*/
|
||||||
List<CrmPermissionDO> getPermissionListByBizTypeAndUserId(Integer bizType, Long userId);
|
List<CrmPermissionDO> getPermissionListByBizTypeAndUserId(Integer bizType, Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领取公海数据
|
||||||
|
*
|
||||||
|
* @param bizType 数据类型,关联 {@link CrmBizTypeEnum}
|
||||||
|
* @param bizId 数据编号,关联 {@link CrmBizTypeEnum} 对应模块 DO#getId()
|
||||||
|
* @param userId 用户编号,AdminUser#id
|
||||||
|
*/
|
||||||
|
void receiveBiz(Integer bizType, Long bizId, Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据放入公海
|
||||||
|
*
|
||||||
|
* @param bizType 数据类型,关联 {@link CrmBizTypeEnum}
|
||||||
|
* @param bizId 数据编号,关联 {@link CrmBizTypeEnum} 对应模块 DO#getId()
|
||||||
|
* @param userId 用户编号,AdminUser#id
|
||||||
|
*/
|
||||||
|
void putPool(Integer bizType, Long bizId, Long userId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -141,4 +141,24 @@ public class CrmPermissionServiceImpl implements CrmPermissionService {
|
|||||||
return crmPermissionMapper.selectListByBizTypeAndUserId(bizType, userId);
|
return crmPermissionMapper.selectListByBizTypeAndUserId(bizType, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
|
||||||
|
crmPermissionMapper.updateById(new CrmPermissionDO().setId(permission.getId()).setUserId(CrmPermissionDO.POOL_USER_ID));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user