diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/controller/SarMenuController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/controller/SarMenuController.java index 89e1bf9e..cf2c8a6f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/controller/SarMenuController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/controller/SarMenuController.java @@ -1,12 +1,25 @@ package com.adc.da.slrs.sarMenu.controller; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.login.util.UserUtils; +import com.adc.da.slrs.sarMenu.service.ISarMenuService; +import com.adc.da.sys.common.SelectionResult; +import com.adc.da.sys.service.IDicTypeEOService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import com.adc.da.slrs.sarMenu.entity.SarMenu; import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.RestController; import com.adc.da.base.web.BaseController; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** *

* 前端控制器 @@ -20,4 +33,49 @@ import com.adc.da.base.web.BaseController; @RequestMapping("/sarMenu/sar-menu") public class SarMenuController extends BaseController { + @Autowired + private ISarMenuService sarMenuEOService; + + @Autowired + private IDicTypeEOService dicTypeEOService; + + @ApiOperation(value = "|SarMenuEO|查询当前登录用户拥有的目录") + @GetMapping("/selectMenuByRole") + public ResponseMessage> selectMenuByRole(SarMenu sarMenuEO) throws Exception { + // 根据当前登录人id查出对应角色 + String roleIds = UserUtils.getRoleIds(); + String[] roleArr = roleIds.split(","); + List roleIdList = Arrays.asList(roleArr); + sarMenuEO.setRoleIds(roleIdList); + //角色未配置根节点,手动加入根节点权限 + List resultList = sarMenuEOService.queryMenuByDis(sarMenuEO); + List list = sarMenuEOService.selectMenuByRole(sarMenuEO); + if(!"BUSINESS_STAND".equals(sarMenuEO.getSorDivide())){ + resultList.addAll(list); + } else { + resultList = list; + } + List listDic = new ArrayList<>(); + for (SarMenu resultMenu : resultList) { + if ("gxhbq".equals(resultMenu.getId())) { + // 查出配置管理项 + List getDicList = dicTypeEOService.getDicTypeByDicId("ZHFKGAACTNUCN9AR5YBM"); + if (getDicList != null && !getDicList.isEmpty()) { + for (SelectionResult selectionResult : getDicList) { + int i=0; + SarMenu menuEO = new SarMenu(); + menuEO.setId(selectionResult.getValue()); + menuEO.setSorDivide(sarMenuEO.getSorDivide()); + menuEO.setMenuName(selectionResult.getLabel()); + menuEO.setParentId("gxhbq"); + menuEO.setDisplaySeq(i++); + menuEO.setValidFlag(0); + listDic.add(menuEO); + } + } + } + } + resultList.addAll(listDic); + return Result.success(resultList); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/ISarMenuService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/ISarMenuService.java index 663740d8..cfed4f02 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/ISarMenuService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenu/service/ISarMenuService.java @@ -15,6 +15,10 @@ import java.util.List; */ public interface ISarMenuService extends IService { + List selectMenuByRole(SarMenu sarMenuEO); + + List queryMenuByDis(SarMenu sarMenuEO); + List getParentMenuId(String menuId); List queryRoleMenuIdList(String sordDivide, String menuId) throws Exception;