diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java index 6fa40a13b8..92c86a2c1c 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovMenuServiceImpl.java @@ -22,12 +22,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.HttpContextUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.TreeUtils; import com.epmet.dao.GovMenuDao; import com.epmet.dao.GovRoleDao; @@ -36,6 +38,7 @@ import com.epmet.dao.GovRoleUserDao; import com.epmet.dto.GovMenuDTO; import com.epmet.entity.GovMenuEntity; import com.epmet.enums.MenuTypeEnum; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.GovCustomerMenuRedis; import com.epmet.redis.GovMenuRedis; import com.epmet.service.*; @@ -77,6 +80,8 @@ public class GovMenuServiceImpl extends BaseServiceImpl page(Map params) { @@ -235,6 +240,14 @@ public class GovMenuServiceImpl extends BaseServiceImpl navDigitalCommunity(TokenDto tokenDto, String tableName) { tableName = getTableName(tableName); List menuList = baseDao.getCustomerMenuList(tokenDto.getCustomerId(), MenuTypeEnum.MENU.value(), HttpContextUtils.getLanguage(),tableName); + Result isRootManager = epmetUserOpenFeignClient.getIsRootManager(tokenDto.getUserId()); + if (!isRootManager.success()){ + throw new EpmetException("getIsRootManager method is failure"); + } + if (isRootManager.getData()){ + List govMenuDTOS = ConvertUtils.sourceToTarget(menuList, GovMenuDTO.class); + return TreeUtils.buildTree(govMenuDTOS); + } disposeGovMenu(menuList,tokenDto.getUserId()); Map> groupByStatus = menuList.stream().collect(Collectors.groupingBy(GovMenuEntity::getRoleStatus)); List dtoList = ConvertUtils.sourceToTarget(CollectionUtils.isEmpty(groupByStatus.get(true)) ? new ArrayList<>() : groupByStatus.get(true), GovMenuDTO.class); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 65e7b7b850..aafd5739e3 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -835,4 +835,13 @@ public interface EpmetUserOpenFeignClient { */ @PostMapping("/epmetuser/icresiuser/getIcUserCount") Result> getIcUserCount(@RequestBody IcUserCountFormDTO formDTO); + + /** + * Desc: 查询是否是超级管理员 + * @param userId + * @author zxc + * @date 2022/7/13 11:03 + */ + @PostMapping("/epmetuser/staffrole/getIsRootManager") + Result getIsRootManager(@RequestParam("userId") String userId); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 8c47cdb204..2821dc45be 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -636,4 +636,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getIcUserCount", formDTO); } + @Override + public Result getIsRootManager(String userId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getIsRootManager", userId); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java index 0cf0bc1760..63001fb2e9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffRoleController.java @@ -217,4 +217,15 @@ public class StaffRoleController { return new Result>().ok(staffRoleService.getGridStaffList(formDTO)); } + + /** + * Desc: 查询是否是超级管理员 + * @param userId + * @author zxc + * @date 2022/7/13 11:03 + */ + @PostMapping("getIsRootManager") + public Result getIsRootManager(@RequestParam("userId") String userId){ + return new Result().ok(staffRoleService.getIsRootManager(userId)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java index 8f62aef830..fa14b5a742 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java @@ -182,4 +182,6 @@ public interface StaffRoleDao extends BaseDao { * @date 2022/1/17 2:45 下午 */ List getStaffList(GridStaffFormDTO formDTO); + + List getRoleKeys(@Param("staffId")String staffId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java index 2458ba809d..f763247d30 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffRoleService.java @@ -122,4 +122,12 @@ public interface StaffRoleService extends BaseService { * @date 2022/1/17 2:37 下午 */ PageData getGridStaffList(GridStaffFormDTO formDTO); + + /** + * Desc: 查询是否是超级管理员 + * @param userId + * @author zxc + * @date 2022/7/13 11:03 + */ + Boolean getIsRootManager(String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java index b8f34b04c9..62346d3726 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffRoleServiceImpl.java @@ -204,4 +204,26 @@ public class StaffRoleServiceImpl extends BaseServiceImpl(result,count.get()); } + /** + * Desc: 查询是否是超级管理员 + * @param userId + * @author zxc + * @date 2022/7/13 11:03 + */ + @Override + public Boolean getIsRootManager(String userId) { + Boolean result = false; + List roleKeys = baseDao.getRoleKeys(userId); + if (roleKeys.isEmpty()){ + return result; + } + for (String roleKey : roleKeys) { + if (roleKey.equals("root_manager")){ + result = true; + break; + } + } + return result; + } + } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml index 6ce9736f4d..05881009cb 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml @@ -319,5 +319,13 @@ AND gsr.del_flag = '0' ORDER BY cs.CREATED_TIME DESC +