| | |
| | | } |
| | | |
| | | /** |
| | | * 校验用户是否有查看全部客户的权限 |
| | | * |
| | | * @return 是/否 |
| | | */ |
| | | private static boolean hasCustomerViewAllPermission() { |
| | | PermissionCommonApi permissionApi = SpringUtil.getBean(PermissionCommonApi.class); |
| | | return permissionApi.hasAnyPermissions(getLoginUserId(), "crm:customer:view-all"); |
| | | } |
| | | |
| | | /** |
| | | * 构造 CRM 数据类型数据【分页】查询条件 |
| | | * |
| | | * @param query 连表查询对象 |
| | |
| | | query.in(ownerUserIdField, convertSet(subordinateUsers, AdminUserRespDTO::getId)); |
| | | } |
| | | } |
| | | // 场景四:全部数据(需要有 view-all 权限或 CRM 管理员) |
| | | if (CrmSceneTypeEnum.isAll(sceneType)) { |
| | | if (isCrmAdmin() || hasCustomerViewAllPermission()) { |
| | | return; // 跳过过滤,查看全部 |
| | | } |
| | | // 无权限则降级为"我负责的" |
| | | query.eq(ownerUserIdField, userId); |
| | | } |
| | | } |
| | | |
| | | /** |