From 7a718a53573553dff1aa52c99dd0d9614850f80a Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 4 Jun 2025 13:35:06 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9A=E6=89=8B=E6=8C=81=E7=99=BB?= =?UTF-8?q?=E9=99=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/menu/ISysMenuService.java | 6 +++ .../menu/dao/mapper/SysMenuMapper.java | 10 +++++ .../service/menu/dao/mapper/SysMenuMapper.xml | 39 ++++++++++++++++++ .../service/menu/impl/SysMenuServiceImpl.java | 40 +++++++++++++++++++ .../controller/AuthorizationsController.java | 36 +++++++++++++++++ 5 files changed, 131 insertions(+) create mode 100644 wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/authorization/controller/AuthorizationsController.java diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/ISysMenuService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/ISysMenuService.java index 122f786..ac81039 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/ISysMenuService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/ISysMenuService.java @@ -158,4 +158,10 @@ public interface ISysMenuService extends IService { */ List getMenusByRole(String roleId, String systemType, String category); + /** + * 获取菜单 + * @param param {} + * @return Map + */ + Map queryAuthority(Map param); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java index 3d7cafc..e1356e1 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java @@ -1,5 +1,6 @@ package org.nl.system.service.menu.dao.mapper; +import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Param; @@ -80,4 +81,13 @@ public interface SysMenuMapper extends BaseMapper { * @return / */ String findAllChild(String pid); + + /** + * + * @param accountId 用户id + * @param component 组件 + * @param pid 父级id + * @return JSONArray + */ + JSONArray queryPdaAuthority(String accountId, String component, String pid); } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml index 2664d38..32ff687 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml @@ -99,4 +99,43 @@ ) t3 where childId != '0' + + diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java index 2fa76ef..ea04c4f 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java @@ -3,6 +3,8 @@ package org.nl.system.service.menu.impl; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -468,4 +470,42 @@ public class SysMenuServiceImpl extends ServiceImpl impl baseMapper.getMenusByRole(systemType,category); return null; } + + @Override + public Map queryAuthority(Map param) { + String accountId = SecurityUtils.getCurrentUserId(); + JSONObject returnjo = new JSONObject(); + if (StrUtil.isEmpty(accountId)) { + returnjo.put("code", "0"); + returnjo.put("desc", "用户id不能为空!"); + returnjo.put("result", new JSONArray()); + } + //查询一级 + JSONArray pa = baseMapper.queryPdaAuthority(accountId, "0", null); + if(ObjectUtil.isEmpty(pa)){ + throw new BadRequestException("当前用户无菜单权限!"); + } + JSONObject result = new JSONObject(); + for (int i = 0; i < pa.size(); i++) { + JSONObject res = pa.getJSONObject(i); + //查询二级 + JSONArray secondResults = baseMapper.queryPdaAuthority(accountId, "1", res.getString("menu_id")); + //查询三级 + JSONArray roleTree = new JSONArray(); + for (int j = 0; j < secondResults.size(); j++) { + JSONObject row = secondResults.getJSONObject(j); + String menu_id = row.getString("menu_id"); + JSONArray ThirdResults = baseMapper.queryPdaAuthority(accountId, "2", menu_id); + row.put("sonTree", ThirdResults); + roleTree.add(row); + } + res.put("sonTree", roleTree); + result.put("rf_menu0", res); + } + + returnjo.put("code", "1"); + returnjo.put("desc", "查询成功!"); + returnjo.put("result", result); + return returnjo; + } } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/authorization/controller/AuthorizationsController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/authorization/controller/AuthorizationsController.java new file mode 100644 index 0000000..a44d787 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/authorization/controller/AuthorizationsController.java @@ -0,0 +1,36 @@ +package org.nl.wms.pda.authorization.controller; + +import cn.dev33.satoken.annotation.SaIgnore; +import lombok.extern.slf4j.Slf4j; +import org.nl.system.service.menu.ISysMenuService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +/** + *

+ * 手持端 控制层 + *

+ * + * @author Liuxy + * @since 2025-06-04 + */ +@Slf4j +@RestController +@RequestMapping("/api/pda") +public class AuthorizationsController { + @Autowired + private ISysMenuService menuService; + + @PostMapping(value = "/authority") + @SaIgnore + public ResponseEntity queryAuthority(@RequestBody Map param) { + return new ResponseEntity<>(menuService.queryAuthority(param), HttpStatus.OK); + } +}