Browse Source

rev:手持登陆

master
刘先源 2 weeks ago
parent
commit
7a718a5357
  1. 6
      wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/ISysMenuService.java
  2. 10
      wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java
  3. 39
      wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml
  4. 40
      wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java
  5. 36
      wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/authorization/controller/AuthorizationsController.java

6
wms/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/menu/ISysMenuService.java

@ -158,4 +158,10 @@ public interface ISysMenuService extends IService<SysMenu> {
*/
List<Map> getMenusByRole(String roleId, String systemType, String category);
/**
* 获取菜单
* @param param {}
* @return Map<String, Object>
*/
Map<String, Object> queryAuthority(Map<String, String> param);
}

10
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<SysMenu> {
* @return /
*/
String findAllChild(String pid);
/**
*
* @param accountId 用户id
* @param component 组件
* @param pid 父级id
* @return JSONArray
*/
JSONArray queryPdaAuthority(String accountId, String component, String pid);
}

39
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'
</select>
<select id="queryPdaAuthority" resultType="com.alibaba.fastjson.JSONObject">
SELECT
max( sys_user.user_id ) AS accountId,
max( sys_user.username ) AS username,
max( sys_roles_menus.menu_id ) AS menu_id,
max( sys_menu.component ) AS component,
max( sys_menu.title ) AS title,
max( sys_menu.path ) AS path,
max( sys_menu.component_name ) AS component_name
FROM
sys_user sys_user
LEFT JOIN sys_users_roles sys_users_roles ON sys_users_roles.user_id = sys_user.user_id
LEFT JOIN sys_role sys_role ON sys_role.role_id = sys_users_roles.role_id
LEFT JOIN sys_roles_menus sys_roles_menus ON sys_roles_menus.role_id = sys_role.role_id
LEFT JOIN sys_menu sys_menu ON sys_menu.menu_id = sys_roles_menus.menu_id
WHERE
sys_menu.component_name LIKE 'RF%'
and sys_menu.is_pc = '0'
AND sys_menu.hidden = 0
<if test="accountId != null">
AND sys_user.user_id = #{accountId}
</if>
<if test="component != null">
AND sys_menu.component = #{component}
</if>
<if test="pid != null">
AND sys_menu.pid = #{pid}
</if>
GROUP BY
sys_menu.menu_id,
sys_menu.title,
sys_menu.component,
sys_menu.path,
sys_menu.title,
sys_menu.component_name,
sys_menu.menu_sort
ORDER BY sys_menu.menu_sort
</select>
</mapper>

40
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<SysMenuMapper, SysMenu> impl
baseMapper.getMenusByRole(systemType,category);
return null;
}
@Override
public Map<String, Object> queryAuthority(Map<String, String> 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;
}
}

36
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;
/**
* <p>
* 手持端 控制层
* </p>
*
* @author Liuxy
* @since 2025-06-04
*/
@Slf4j
@RestController
@RequestMapping("/api/pda")
public class AuthorizationsController {
@Autowired
private ISysMenuService menuService;
@PostMapping(value = "/authority")
@SaIgnore
public ResponseEntity<Object> queryAuthority(@RequestBody Map<String, String> param) {
return new ResponseEntity<>(menuService.queryAuthority(param), HttpStatus.OK);
}
}
Loading…
Cancel
Save