Merge remote-tracking branch 'origin/fix-bug-202303' into fix-bug-202303
This commit is contained in:
+80
-57
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresRoles;
|
||||
import com.jero.common.api.vo.Result;
|
||||
@@ -52,17 +53,23 @@ public class SysPermissionController {
|
||||
@Autowired
|
||||
private ISysDepartPermissionService sysDepartPermissionService;
|
||||
|
||||
private static String OPTION_SUCCESS = "操作成功!";
|
||||
private static String DEL_SUCCESS = "删除成功!";
|
||||
private static String PERMISSION_LIST = "permissionList";
|
||||
private static String CHILDREN = "children";
|
||||
|
||||
/**
|
||||
* 加载数据节点
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/page", method = RequestMethod.GET)
|
||||
// @RequestMapping(value = "/page", method = RequestMethod.GET)
|
||||
@GetMapping("/page")
|
||||
public Result<List<SysPermissionTree>> list() {
|
||||
long start = System.currentTimeMillis();
|
||||
Result<List<SysPermissionTree>> result = new Result<>();
|
||||
try {
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>();
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
|
||||
query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0);
|
||||
query.orderByAsc(SysPermission::getSortNo);
|
||||
List<SysPermission> list = sysPermissionService.list(query);
|
||||
@@ -83,17 +90,18 @@ public class SysPermissionController {
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/getSystemMenuList", method = RequestMethod.GET)
|
||||
// @RequestMapping(value = "/getSystemMenuList", method = RequestMethod.GET)
|
||||
@GetMapping("/getSystemMenuList")
|
||||
public Result<List<SysPermissionTree>> getSystemMenuList() {
|
||||
long start = System.currentTimeMillis();
|
||||
Result<List<SysPermissionTree>> result = new Result<>();
|
||||
try {
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>();
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
|
||||
query.eq(SysPermission::getMenuType,CommonConstant.MENU_TYPE_0);
|
||||
query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0);
|
||||
query.orderByAsc(SysPermission::getSortNo);
|
||||
List<SysPermission> list = sysPermissionService.list(query);
|
||||
List<SysPermissionTree> sysPermissionTreeList = new ArrayList<SysPermissionTree>();
|
||||
List<SysPermissionTree> sysPermissionTreeList = new ArrayList<>();
|
||||
for(SysPermission sysPermission : list){
|
||||
SysPermissionTree sysPermissionTree = new SysPermissionTree(sysPermission);
|
||||
sysPermissionTreeList.add(sysPermissionTree);
|
||||
@@ -112,16 +120,17 @@ public class SysPermissionController {
|
||||
* @param parentId
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/getSystemSubmenu", method = RequestMethod.GET)
|
||||
// @RequestMapping(value = "/getSystemSubmenu", method = RequestMethod.GET)
|
||||
@GetMapping("/getSystemSubmenu")
|
||||
public Result<List<SysPermissionTree>> getSystemSubmenu(@RequestParam("parentId") String parentId){
|
||||
Result<List<SysPermissionTree>> result = new Result<>();
|
||||
try{
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>();
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
|
||||
query.eq(SysPermission::getParentId,parentId);
|
||||
query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0);
|
||||
query.orderByAsc(SysPermission::getSortNo);
|
||||
List<SysPermission> list = sysPermissionService.list(query);
|
||||
List<SysPermissionTree> sysPermissionTreeList = new ArrayList<SysPermissionTree>();
|
||||
List<SysPermissionTree> sysPermissionTreeList = new ArrayList<>();
|
||||
for(SysPermission sysPermission : list){
|
||||
SysPermissionTree sysPermissionTree = new SysPermissionTree(sysPermission);
|
||||
sysPermissionTreeList.add(sysPermissionTree);
|
||||
@@ -143,7 +152,7 @@ public class SysPermissionController {
|
||||
* @return 返回 key-value 的 Map
|
||||
*/
|
||||
@GetMapping("/getSystemSubmenuBatch")
|
||||
public Result getSystemSubmenuBatch(@RequestParam("parentIds") String parentIds) {
|
||||
public Result<Map<String, List<SysPermissionTree>>> getSystemSubmenuBatch(@RequestParam("parentIds") String parentIds) {
|
||||
try {
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
|
||||
List<String> parentIdList = Arrays.asList(parentIds.split(","));
|
||||
@@ -173,7 +182,7 @@ public class SysPermissionController {
|
||||
|
||||
// /**
|
||||
// * 查询用户拥有的菜单权限和按钮权限(根据用户账号)
|
||||
// *
|
||||
// *
|
||||
// * @return
|
||||
// */
|
||||
// @RequestMapping(value = "/queryByUser", method = RequestMethod.GET)
|
||||
@@ -195,12 +204,13 @@ public class SysPermissionController {
|
||||
|
||||
/**
|
||||
* 查询用户拥有的菜单权限和按钮权限
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/getUserPermissionByToken", method = RequestMethod.GET)
|
||||
public Result<?> getUserPermissionByToken() {
|
||||
Result<JSONObject> result = new Result<JSONObject>();
|
||||
// @RequestMapping(value = "/getUserPermissionByToken", method = RequestMethod.GET)
|
||||
@GetMapping("/getUserPermissionByToken")
|
||||
public Result<JSONObject> getUserPermissionByToken() {
|
||||
Result<JSONObject> result = new Result<>();
|
||||
try {
|
||||
//直接获取当前用户不适用前端token
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
@@ -215,7 +225,7 @@ public class SysPermissionController {
|
||||
JSONArray authjsonArray = new JSONArray();
|
||||
this.getAuthJsonArray(authjsonArray, metaList);
|
||||
//查询所有的权限
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>();
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
|
||||
query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0);
|
||||
query.eq(SysPermission::getMenuType, CommonConstant.MENU_TYPE_2);
|
||||
//query.eq(SysPermission::getStatus, "1");
|
||||
@@ -243,12 +253,13 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@RequestMapping(value = "/add", method = RequestMethod.POST)
|
||||
// @RequestMapping(value = "/add", method = RequestMethod.POST)
|
||||
@PostMapping("/add")
|
||||
public Result<Object> add(@RequestBody SysPermission permission) {
|
||||
try {
|
||||
permission = PermissionDataUtil.intelligentProcessData(permission);
|
||||
sysPermissionService.addPermission(permission);
|
||||
return Result.OK("操作成功!");
|
||||
return Result.OK(OPTION_SUCCESS);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return Result.error("操作失败");
|
||||
@@ -266,7 +277,7 @@ public class SysPermissionController {
|
||||
try {
|
||||
permission = PermissionDataUtil.intelligentProcessData(permission);
|
||||
sysPermissionService.editPermission(permission);
|
||||
return Result.OK("操作成功!");
|
||||
return Result.OK(OPTION_SUCCESS);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return Result.error("操作失败");
|
||||
@@ -279,11 +290,12 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
|
||||
// @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
|
||||
@DeleteMapping("/delete")
|
||||
public Result<Object> delete(@RequestParam(name = "id", required = true) String id) {
|
||||
try {
|
||||
sysPermissionService.deletePermission(id);
|
||||
return Result.OK("删除成功!");
|
||||
return Result.OK(DEL_SUCCESS);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return Result.error(e.getMessage());
|
||||
@@ -296,7 +308,8 @@ public class SysPermissionController {
|
||||
* @return
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
|
||||
// @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
|
||||
@DeleteMapping("/deleteBatch")
|
||||
public Result<Object> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
|
||||
try {
|
||||
String[] arr = ids.split(",");
|
||||
@@ -305,25 +318,26 @@ public class SysPermissionController {
|
||||
sysPermissionService.deletePermission(id);
|
||||
}
|
||||
}
|
||||
return Result.OK("删除成功!");
|
||||
return Result.OK(DEL_SUCCESS);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return Result.error("删除成功!");
|
||||
return Result.error(DEL_SUCCESS);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全部的权限树
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/queryTreeList", method = RequestMethod.GET)
|
||||
// @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET)
|
||||
@GetMapping("/queryTreeList")
|
||||
public Result<Map<String, Object>> queryTreeList() {
|
||||
Result<Map<String, Object>> result = new Result<>();
|
||||
// 全部权限ids
|
||||
List<String> ids = new ArrayList<>();
|
||||
try {
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>();
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
|
||||
query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0);
|
||||
query.orderByAsc(SysPermission::getSortNo);
|
||||
List<SysPermission> list = sysPermissionService.list(query);
|
||||
@@ -333,7 +347,7 @@ public class SysPermissionController {
|
||||
List<TreeModel> treeList = new ArrayList<>();
|
||||
getTreeModelList(treeList, list, null);
|
||||
|
||||
Map<String, Object> resMap = new HashMap<String, Object>();
|
||||
Map<String, Object> resMap = new HashMap<>();
|
||||
resMap.put("treeList", treeList); // 全部树节点数据
|
||||
resMap.put("ids", ids);// 全部树ids
|
||||
result.setResult(resMap);
|
||||
@@ -346,15 +360,16 @@ public class SysPermissionController {
|
||||
|
||||
/**
|
||||
* 异步加载数据节点
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/queryListAsync", method = RequestMethod.GET)
|
||||
// @RequestMapping(value = "/queryListAsync", method = RequestMethod.GET)
|
||||
@GetMapping("/queryListAsync")
|
||||
public Result<List<TreeModel>> queryAsync(@RequestParam(name = "pid", required = false) String parentId) {
|
||||
Result<List<TreeModel>> result = new Result<>();
|
||||
try {
|
||||
List<TreeModel> list = sysPermissionService.queryListByParentId(parentId);
|
||||
if (list == null || list.size() <= 0) {
|
||||
if (list == null || list.isEmpty()) {
|
||||
return Result.error("未找到角色信息");
|
||||
} else {
|
||||
result.setResult(list);
|
||||
@@ -369,10 +384,11 @@ public class SysPermissionController {
|
||||
|
||||
/**
|
||||
* 查询角色授权
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/queryRolePermission", method = RequestMethod.GET)
|
||||
// @RequestMapping(value = "/queryRolePermission", method = RequestMethod.GET)
|
||||
@GetMapping("/queryRolePermission")
|
||||
public Result<List<String>> queryRolePermission(@RequestParam(name = "roleId", required = true) String roleId) {
|
||||
Result<List<String>> result = new Result<>();
|
||||
try {
|
||||
@@ -387,10 +403,11 @@ public class SysPermissionController {
|
||||
|
||||
/**
|
||||
* 保存角色授权
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/saveRolePermission", method = RequestMethod.POST)
|
||||
// @RequestMapping(value = "/saveRolePermission", method = RequestMethod.POST)
|
||||
@PostMapping("/saveRolePermission")
|
||||
//@RequiresRoles({ "admin" })
|
||||
public Result<String> saveRolePermission(@RequestBody JSONObject json) {
|
||||
long start = System.currentTimeMillis();
|
||||
@@ -400,7 +417,7 @@ public class SysPermissionController {
|
||||
String lastPermissionIds = json.getString("lastpermissionIds");
|
||||
this.sysRolePermissionService.saveRolePermission(roleId, permissionIds, lastPermissionIds);
|
||||
log.info("======角色授权成功=====耗时:" + (System.currentTimeMillis() - start) + "毫秒");
|
||||
return Result.OK("操作成功!");
|
||||
return Result.OK(OPTION_SUCCESS);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return Result.error("授权失败!");
|
||||
@@ -444,7 +461,7 @@ public class SysPermissionController {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取权限JSON数组
|
||||
* @param jsonArray
|
||||
@@ -508,21 +525,21 @@ public class SysPermissionController {
|
||||
// 类型( 0:一级菜单 1:子菜单 2:按钮 )
|
||||
if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_2)) {
|
||||
JSONObject metaJson = parentJson.getJSONObject("meta");
|
||||
if (metaJson.containsKey("permissionList")) {
|
||||
metaJson.getJSONArray("permissionList").add(json);
|
||||
if (metaJson.containsKey(PERMISSION_LIST)) {
|
||||
metaJson.getJSONArray(PERMISSION_LIST).add(json);
|
||||
} else {
|
||||
JSONArray permissionList = new JSONArray();
|
||||
permissionList.add(json);
|
||||
metaJson.put("permissionList", permissionList);
|
||||
metaJson.put(PERMISSION_LIST, permissionList);
|
||||
}
|
||||
// 类型( 0:一级菜单 1:子菜单 2:按钮 )
|
||||
} else if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_1) || permission.getMenuType().equals(CommonConstant.MENU_TYPE_0)) {
|
||||
if (parentJson.containsKey("children")) {
|
||||
parentJson.getJSONArray("children").add(json);
|
||||
if (parentJson.containsKey(CHILDREN)) {
|
||||
parentJson.getJSONArray(CHILDREN).add(json);
|
||||
} else {
|
||||
JSONArray children = new JSONArray();
|
||||
children.add(json);
|
||||
parentJson.put("children", children);
|
||||
parentJson.put(CHILDREN, children);
|
||||
}
|
||||
|
||||
if (!permission.isLeaf()) {
|
||||
@@ -626,7 +643,7 @@ public class SysPermissionController {
|
||||
/**
|
||||
* 判断是否外网URL 例如: http://localhost:8080/jero-boot/swagger-ui.html#/ 支持特殊格式: {{
|
||||
* window._CONFIG['domianURL'] }}/druid/ {{ JS代码片段 }},前台解析会自动执行JS代码片段
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private boolean isWWWHttpUrl(String url) {
|
||||
@@ -639,7 +656,7 @@ public class SysPermissionController {
|
||||
/**
|
||||
* 通过URL生成路由name(去掉URL前缀斜杠,替换内容中的斜杠‘/’为-) 举例: URL = /isystem/role RouteName =
|
||||
* isystem-role
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private String urlToRouteName(String url) {
|
||||
@@ -659,11 +676,12 @@ public class SysPermissionController {
|
||||
|
||||
/**
|
||||
* 根据菜单id来获取其对应的权限数据
|
||||
*
|
||||
*
|
||||
* @param sysPermissionDataRule
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/getPermRuleListByPermId", method = RequestMethod.GET)
|
||||
// @RequestMapping(value = "/getPermRuleListByPermId", method = RequestMethod.GET)
|
||||
@GetMapping("/getPermRuleListByPermId")
|
||||
public Result<List<SysPermissionDataRule>> getPermRuleListByPermId(SysPermissionDataRule sysPermissionDataRule) {
|
||||
List<SysPermissionDataRule> permRuleList = sysPermissionDataRuleService.getPermRuleListByPermId(sysPermissionDataRule.getPermissionId());
|
||||
Result<List<SysPermissionDataRule>> result = new Result<>();
|
||||
@@ -674,17 +692,18 @@ public class SysPermissionController {
|
||||
|
||||
/**
|
||||
* 添加菜单权限数据
|
||||
*
|
||||
*
|
||||
* @param sysPermissionDataRule
|
||||
* @return
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@RequestMapping(value = "/addPermissionRule", method = RequestMethod.POST)
|
||||
// @RequestMapping(value = "/addPermissionRule", method = RequestMethod.POST)
|
||||
@PostMapping("/addPermissionRule")
|
||||
public Result<Object> addPermissionRule(@RequestBody SysPermissionDataRule sysPermissionDataRule) {
|
||||
try {
|
||||
sysPermissionDataRule.setCreateTime(new Date());
|
||||
sysPermissionDataRuleService.savePermissionDataRule(sysPermissionDataRule);
|
||||
return Result.OK("操作成功!");
|
||||
return Result.OK(OPTION_SUCCESS);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return Result.error("操作失败");
|
||||
@@ -705,12 +724,13 @@ public class SysPermissionController {
|
||||
|
||||
/**
|
||||
* 删除菜单权限数据
|
||||
*
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
//@RequiresRoles({ "admin" })
|
||||
@RequestMapping(value = "/deletePermissionRule", method = RequestMethod.DELETE)
|
||||
// @RequestMapping(value = "/deletePermissionRule", method = RequestMethod.DELETE)
|
||||
@DeleteMapping("/deletePermissionRule")
|
||||
public Result<Object> deletePermissionRule(@RequestParam(name = "id", required = true) String id) {
|
||||
try {
|
||||
sysPermissionDataRuleService.deletePermissionDataRule(id);
|
||||
@@ -723,11 +743,12 @@ public class SysPermissionController {
|
||||
|
||||
/**
|
||||
* 查询菜单权限数据
|
||||
*
|
||||
*
|
||||
* @param sysPermissionDataRule
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/queryPermissionRule", method = RequestMethod.GET)
|
||||
// @RequestMapping(value = "/queryPermissionRule", method = RequestMethod.GET)
|
||||
@GetMapping("/queryPermissionRule")
|
||||
public Result<List<SysPermissionDataRule>> queryPermissionRule(SysPermissionDataRule sysPermissionDataRule) {
|
||||
try {
|
||||
List<SysPermissionDataRule> permRuleList = sysPermissionDataRuleService.queryPermissionRule(sysPermissionDataRule);
|
||||
@@ -743,7 +764,8 @@ public class SysPermissionController {
|
||||
* @param departId
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/queryDepartPermission", method = RequestMethod.GET)
|
||||
// @RequestMapping(value = "/queryDepartPermission", method = RequestMethod.GET)
|
||||
@GetMapping("/queryDepartPermission")
|
||||
public Result<List<String>> queryDepartPermission(@RequestParam(name = "departId", required = true) String departId) {
|
||||
Result<List<String>> result = new Result<>();
|
||||
try {
|
||||
@@ -761,7 +783,8 @@ public class SysPermissionController {
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/saveDepartPermission", method = RequestMethod.POST)
|
||||
// @RequestMapping(value = "/saveDepartPermission", method = RequestMethod.POST)
|
||||
@PostMapping("/saveDepartPermission")
|
||||
//@RequiresRoles({ "admin" })
|
||||
public Result<String> saveDepartPermission(@RequestBody JSONObject json) {
|
||||
long start = System.currentTimeMillis();
|
||||
@@ -771,7 +794,7 @@ public class SysPermissionController {
|
||||
String lastPermissionIds = json.getString("lastpermissionIds");
|
||||
this.sysDepartPermissionService.saveDepartPermission(departId, permissionIds, lastPermissionIds);
|
||||
log.info("======部门授权成功=====耗时:" + (System.currentTimeMillis() - start) + "毫秒");
|
||||
return Result.OK("操作成功!");
|
||||
return Result.OK(OPTION_SUCCESS);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
return Result.error("授权失败!");
|
||||
|
||||
Reference in New Issue
Block a user