diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java index ff3cb84..f0509b9 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysMenuService.java @@ -70,4 +70,7 @@ public interface ISysMenuService extends ICrudService { @ApiOperation(value = "根据菜单ID删除菜单信息") void deleteSysMenuById(Long id); + + @ApiOperation(value = "根据菜单中的配置查询系统,查询impp下面一层的数据") + List querySysMenuSoftType(); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index 5d31f51..acf29ee 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -180,6 +180,9 @@ public class WhiteController extends CoreBaseController { @Autowired private ISysOrderNoRuleService sysOrderNoRuleService; + @Autowired + private ISysMenuService sysMenuService; + @Value(value = "${filter.ding.menu.parent.id}") private Long filterDingPmcParentMenuId; @@ -1557,6 +1560,18 @@ public class WhiteController extends CoreBaseController { } } + @GetMapping(value = "/query-sys-menu-softType") + @ApiOperation(value = "菜单中查询系统,其实就是父级为impp的") + public ResultBean querySysMenuSoftType() { + try { + return ResultBean.success("操作成功").setResultList(sysMenuService.querySysMenuSoftType()).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + /** * 获取登录用户功能权限信息 * diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java index 13dd6b9..4f782b1 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMenuService.java @@ -42,6 +42,10 @@ public class SysMenuService extends CrudService implements ISysMenuServ public static final Logger LOGGER = LoggerFactory.getLogger(SysMenuService.class); + private static int menuType = 1; + + private static Long parentId = 100000000L; + /** * 功能权限国际化 */ @@ -340,6 +344,25 @@ public class SysMenuService extends CrudService implements ISysMenuServ } } + + @Override + public List querySysMenuSoftType() { + // todo 临时这么写,需要优化 + DdlPackBean packBean = DdlPackBean.getDdlPackBean(); + DdlPreparedPack.getNumEqualPack(menuType,"menuType",packBean); + DdlPreparedPack.getNumEqualPack(parentId,"parentId",packBean); + List sysMenus = sysMenuRDao.findByHqlWhere(packBean); + if (CollectionUtils.isEmpty(sysMenus)) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION_DATA_ERROR.getCode()) + .setErrorDetail("未查到菜单中的系统") + .setErrorSolution("请确认数据维护是否正确menuType:1;partentId:100000000") + .build(); + } + return sysMenus; + } + private List getIdList(Long id,List idList){ List sysMenuTwoList = sysMenuRDao.findByProperty("parentId",id); if(CollectionUtils.isEmpty(sysMenuTwoList)){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java index 8927e83..b14492d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java @@ -246,7 +246,7 @@ public class SysRoleService extends CrudService implements ISysRoleServ String menuTreeName = ""; List newAuthoritys = new ArrayList<>(); getParentName(id, newAuthoritys); - if (!newAuthoritys.get(0).isEmpty()) { + if (!CollectionUtils.isEmpty(newAuthoritys) && !newAuthoritys.get(0).isEmpty()) { menuTreeName = newAuthoritys.get(0).substring(1); } newAuthority.append(menuTreeName).append("\n"); @@ -255,7 +255,7 @@ public class SysRoleService extends CrudService implements ISysRoleServ List delAuthoritys = new ArrayList<>(); String menuTreeName = ""; getParentName(id, delAuthoritys); - if (!delAuthoritys.get(0).isEmpty()) { + if (!CollectionUtils.isEmpty(delAuthoritys) && !delAuthoritys.get(0).isEmpty()) { menuTreeName = delAuthoritys.get(0).substring(1); } delAuthority.append(menuTreeName).append("\n");