| | |
| | | public class CrmPermissionUtils { |
| | | |
| | | /** |
| | | * 校验用户是否是 CRM 管理员 |
| | | * 校验用户是否是 CRM 管理员(或超级管理员) |
| | | * |
| | | * @return 是/否 |
| | | */ |
| | | public static boolean isCrmAdmin() { |
| | | PermissionCommonApi permissionApi = SpringUtil.getBean(PermissionCommonApi.class); |
| | | return permissionApi.hasAnyRoles(getLoginUserId(), RoleCodeEnum.CRM_ADMIN.getCode()); |
| | | return permissionApi.hasAnyRoles(getLoginUserId(), |
| | | RoleCodeEnum.SUPER_ADMIN.getCode(), RoleCodeEnum.CRM_ADMIN.getCode()); |
| | | } |
| | | |
| | | /** |
| | | * 校验用户是否有查看全部客户的权限 |
| | | * |
| | | * @return 是/否 |
| | | */ |
| | | private static boolean hasCustomerViewAllPermission() { |
| | | PermissionCommonApi permissionApi = SpringUtil.getBean(PermissionCommonApi.class); |
| | | return permissionApi.hasAnyPermissions(getLoginUserId(), "crm:customer:view-all"); |
| | | } |
| | | |
| | | /** |
| | |
| | | query.in(ownerUserIdField, convertSet(subordinateUsers, AdminUserRespDTO::getId)); |
| | | } |
| | | } |
| | | // 场景四:全部数据(需要有 view-all 权限或 CRM 管理员) |
| | | if (CrmSceneTypeEnum.isAll(sceneType)) { |
| | | if (isCrmAdmin() || hasCustomerViewAllPermission()) { |
| | | return; // 跳过过滤,查看全部 |
| | | } |
| | | // 无权限则降级为"我负责的" |
| | | query.eq(ownerUserIdField, userId); |
| | | } |
| | | } |
| | | |
| | | /** |