|
@@ -7,6 +7,7 @@ import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.github.pagehelper.PageInfo;
|
|
|
import com.sckw.core.exception.SystemException;
|
|
import com.sckw.core.exception.SystemException;
|
|
|
import com.sckw.core.model.constant.Global;
|
|
import com.sckw.core.model.constant.Global;
|
|
|
|
|
+import com.sckw.core.model.enums.MenuTypeEnum;
|
|
|
import com.sckw.core.model.enums.SystemTypeEnum;
|
|
import com.sckw.core.model.enums.SystemTypeEnum;
|
|
|
import com.sckw.core.model.page.PageHelperUtil;
|
|
import com.sckw.core.model.page.PageHelperUtil;
|
|
|
import com.sckw.core.model.page.PageResult;
|
|
import com.sckw.core.model.page.PageResult;
|
|
@@ -38,6 +39,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -73,6 +75,9 @@ public class KwsRoleService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
KwsMenuService kwsMenuService;
|
|
KwsMenuService kwsMenuService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ KwsMenuDao kwsMenuDao;
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
KwsMenuRightsDao kwsMenuRightsDao;
|
|
KwsMenuRightsDao kwsMenuRightsDao;
|
|
|
|
|
|
|
@@ -370,6 +375,10 @@ public class KwsRoleService {
|
|
|
|
|
|
|
|
List<KwsMenuRights> kwsMenuRights = kwsMenuRightsDao.selectByRoleIds(roleIdList);
|
|
List<KwsMenuRights> kwsMenuRights = kwsMenuRightsDao.selectByRoleIds(roleIdList);
|
|
|
if (CollectionUtils.isNotEmpty(kwsMenuRights)) {
|
|
if (CollectionUtils.isNotEmpty(kwsMenuRights)) {
|
|
|
|
|
+ List<Long> menuIdList = kwsMenuRights.stream().map(KwsMenuRights::getMenuId).toList();
|
|
|
|
|
+ List<KwsMenu> kwsMenus = kwsMenuDao.selectByKeys(menuIdList);
|
|
|
|
|
+ List<Long> collect = kwsMenus.stream().filter(item -> item.getType().equals(MenuTypeEnum.BUTTON.getCode())).map(KwsMenu::getId).toList();
|
|
|
|
|
+ kwsMenuRights = kwsMenuRights.stream().filter(item -> collect.contains(item.getMenuId())).toList();
|
|
|
Map<Long, List<KwsMenuRights>> collectKwsMenuRights = kwsMenuRights.stream().collect(Collectors.groupingBy(KwsMenuRights::getRoleId));
|
|
Map<Long, List<KwsMenuRights>> collectKwsMenuRights = kwsMenuRights.stream().collect(Collectors.groupingBy(KwsMenuRights::getRoleId));
|
|
|
roleResVos.forEach(item -> {
|
|
roleResVos.forEach(item -> {
|
|
|
List<KwsMenuRights> kwsMenuRightsList = collectKwsMenuRights.get(item.getId());
|
|
List<KwsMenuRights> kwsMenuRightsList = collectKwsMenuRights.get(item.getId());
|