wangliang пре 2 година
родитељ
комит
a077fde235

+ 21 - 23
distributed-print/src/main/java/com/qmth/distributed/print/api/MenuCustomController.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.distributed.print.business.bean.params.TSchoolPrivilegeParam;
 import com.qmth.teachcloud.common.entity.*;
-import com.qmth.teachcloud.common.enums.PrivilegeEnum;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
@@ -14,6 +13,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 
@@ -76,33 +76,31 @@ public class MenuCustomController {
         QueryWrapper<TSchoolPrivilege> tSchoolPrivilegeQueryWrapper = new QueryWrapper<>();
         tSchoolPrivilegeQueryWrapper.lambda().eq(TSchoolPrivilege::getSchoolId, tSchoolPrivilegeParam.getSchoolId());
         List<TSchoolPrivilege> tSchoolPrivileges = tSchoolPrivilegeService.list(tSchoolPrivilegeQueryWrapper);
-        if (Objects.nonNull(tSchoolPrivileges) && tSchoolPrivileges.size() > 0) {//编辑
+        if (!CollectionUtils.isEmpty(tSchoolPrivileges)) {//编辑
             Set<Long> changePrivilegeSetIds = tSchoolPrivileges.stream().filter(s -> !Arrays.asList(tSchoolPrivilegeParam.getPrivilegeIds()).contains(s.getPrivilegeId()))
                     .collect(Collectors.toList())
                     .stream().map(s -> s.getPrivilegeId())
                     .collect(Collectors.toSet());
             //数据发生改变
-            if (changePrivilegeSetIds.size() > 0) {
-                List<SysPrivilege> sysPrivilegeList = sysPrivilegeService.listByIds(changePrivilegeSetIds);
-                sysPrivilegeList = sysPrivilegeList.stream().filter(s -> !Objects.equals(s.getType(), PrivilegeEnum.MENU)).collect(Collectors.toList());
-                changePrivilegeSetIds = sysPrivilegeList.stream().map(s -> s.getId()).collect(Collectors.toSet());
-
-                if (changePrivilegeSetIds.size() > 0) {
-                    //查询该菜单下所有角色,删除该角色所发生改变的菜单数据
-                    QueryWrapper<SysRole> sysRoleQueryWrapper = new QueryWrapper<>();
-                    sysRoleQueryWrapper.lambda().eq(SysRole::getSchoolId, tSchoolPrivilegeParam.getSchoolId());
-                    List<SysRole> sysRoleList = sysRoleService.list(sysRoleQueryWrapper);
-
-                    if (Objects.nonNull(sysRoleList) && sysRoleList.size() > 0) {
-                        QueryWrapper<SysRolePrivilege> sysRolePrivilegeQueryWrapper = new QueryWrapper<>();
-                        sysRolePrivilegeQueryWrapper.lambda()
-                                .in(SysRolePrivilege::getRoleId, sysRoleList.stream().map(s -> s.getId()).collect(Collectors.toList()))
-                                .in(SysRolePrivilege::getPrivilegeId, changePrivilegeSetIds);
-                        List<SysRolePrivilege> sysRolePrivilegeList = sysRolePrivilegeService.list(sysRolePrivilegeQueryWrapper);
-                        //仅删除绑定了该权限的角色用户缓存
-                        roleSetIds = sysRolePrivilegeList.stream().map(s -> s.getRoleId()).collect(Collectors.toSet());
-                        sysRolePrivilegeService.remove(sysRolePrivilegeQueryWrapper);
+            if (!CollectionUtils.isEmpty(changePrivilegeSetIds)) {
+                //查询该菜单下所有角色,删除该角色所发生改变的菜单数据
+                QueryWrapper<SysRole> sysRoleQueryWrapper = new QueryWrapper<>();
+                sysRoleQueryWrapper.lambda().eq(SysRole::getSchoolId, tSchoolPrivilegeParam.getSchoolId());
+                List<SysRole> sysRoleList = sysRoleService.list(sysRoleQueryWrapper);
+
+                if (!CollectionUtils.isEmpty(sysRoleList)) {
+                    QueryWrapper<SysRolePrivilege> sysRolePrivilegeQueryWrapper = new QueryWrapper<>();
+                    sysRolePrivilegeQueryWrapper.lambda()
+                            .in(SysRolePrivilege::getRoleId, sysRoleList.stream().map(s -> s.getId()).collect(Collectors.toList()));
+                    if (!CollectionUtils.isEmpty(changePrivilegeSetIds)) {
+                        sysRolePrivilegeQueryWrapper.lambda().in(SysRolePrivilege::getPrivilegeId, changePrivilegeSetIds);
+                    } else {
+                        sysRolePrivilegeQueryWrapper.lambda().in(SysRolePrivilege::getPrivilegeId, tSchoolPrivileges.stream().map(s -> s.getPrivilegeId()).collect(Collectors.toList()));
                     }
+                    List<SysRolePrivilege> sysRolePrivilegeList = sysRolePrivilegeService.list(sysRolePrivilegeQueryWrapper);
+                    //仅删除绑定了该权限的角色用户缓存
+                    roleSetIds = sysRolePrivilegeList.stream().map(s -> s.getRoleId()).collect(Collectors.toSet());
+                    sysRolePrivilegeService.remove(sysRolePrivilegeQueryWrapper);
                 }
             }
             tSchoolPrivilegeService.remove(tSchoolPrivilegeQueryWrapper);
@@ -117,7 +115,7 @@ public class MenuCustomController {
         }
 
         //清缓存
-        if (Objects.nonNull(roleSetIds) && roleSetIds.size() > 0) {
+        if (!CollectionUtils.isEmpty(roleSetIds)) {
             for (Long l : roleSetIds) {
                 commonCacheService.updateRoleCache(l);
                 commonCacheService.updateRolePrivilegeCache(l);

+ 0 - 3
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysRoleServiceImpl.java

@@ -55,9 +55,6 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
     @Resource
     SysPrivilegeService sysPrivilegeService;
 
-    @Resource
-    SysUserService sysUserService;
-
     @Resource
     SysRoleGroupMemberService sysRoleGroupMemberService;