xiaof 3 роки тому
батько
коміт
7eefe9081d

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ClientServiceImpl.java

@@ -586,8 +586,7 @@ public class ClientServiceImpl implements ClientService {
     @Override
     public void checkPrivilege(Long userId) {
        List<SysPrivilege> sysPrivileges = sysPrivilegeService.getClientUrlByUserId(userId);
-        long count = sysPrivileges.stream().filter(m -> "客户端".equals(m.getName()) && "client".equals(m.getUrl())).count();
-        if(count == 0){
+        if(CollectionUtils.isEmpty(sysPrivileges)){
             throw ExceptionResultEnum.ERROR.exception("用户没有权限,无法登录");
         }
     }

+ 5 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java

@@ -268,9 +268,13 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
                     BasicSchool tbSchool = Objects.nonNull(user.getSchoolId()) ? commonCacheService.schoolCache(user.getSchoolId()) : null;
                     SysOrg org = Objects.nonNull(user.getOrgId()) ? commonCacheService.orgCache(user.getOrgId()) : null;
                     sysPrivilegeQueryWrapper.lambda().in(SysPrivilege::getId, privilegeIds)
-                            .eq(SysPrivilege::getSchoolId, user.getSchoolId())
                             .eq(SysPrivilege::getType, PrivilegeEnum.URL)
                             .eq(SysPrivilege::getProperty, PrivilegePropertyEnum.AUTH);
+                    if(Objects.isNull(tbSchool)){
+                        sysPrivilegeQueryWrapper.lambda().isNull(SysPrivilege::getSchoolId);
+                    } else {
+                        sysPrivilegeQueryWrapper.lambda().eq(SysPrivilege::getSchoolId, user.getSchoolId());
+                    }
                     List<SysPrivilege> sysPrivilegeList = sysPrivilegeService.list(sysPrivilegeQueryWrapper);
                     authBean = new AuthBean(sysRoleList, sysPrivilegeList.stream().map(s -> s.getUrl()).collect(Collectors.toSet()), tbSchool, org);
                 }

+ 1 - 0
teachcloud-common/src/main/resources/mapper/SysPrivilegeMapper.xml

@@ -32,6 +32,7 @@
             sys_user_role sur ON srp.role_id = sur.role_id
         WHERE
             sur.user_id = #{userId}
+            and sp.name = '客户端' and sp.url = 'client'
     </select>
 
 </mapper>