gaoluyang
4 天以前 d39e4f7d839167c16425086dfa2f8747bccfdff9
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/framework/permission/core/aop/CrmPermissionAspect.java
@@ -103,13 +103,16 @@
            }
        }
        // 2. 只考虑自身的权限
        // 2. 只考虑自身的权限;离职交接完成后,交接人继承离职人对该数据的权限
        Long userId = getUserId();
        CrmPermissionDO userPermission = CollUtil.findOne(bizPermissions, permission -> ObjUtil.equal(permission.getUserId(), userId));
        if (userPermission != null) {
            if (isUserPermissionValid(userPermission, permissionLevel)) {
        CrmPermissionDO userPermission = null;
        for (Long ownerUserId : CrmPermissionUtils.getOwnerUserIds(userId)) {
            CrmPermissionDO candidate = CollUtil.findOne(bizPermissions,
                    permission -> ObjUtil.equal(permission.getUserId(), ownerUserId));
            if (candidate != null && isUserPermissionValid(candidate, permissionLevel)) {
                return;
            }
            userPermission = candidate != null ? candidate : userPermission;
        }
        // 3. 商机特殊处理:检查客户团队权限