¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.system.controller; |
| | | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | 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.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.apache.shiro.authz.annotation.RequiresPermissions; |
| | | import org.apache.shiro.authz.annotation.RequiresRoles; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.constant.SymbolConstant; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.Md5Util; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.config.JeecgBaseConfig; |
| | | import org.jeecg.modules.base.service.BaseCommonService; |
| | | import org.jeecg.modules.system.entity.*; |
| | | import org.jeecg.modules.system.model.SysPermissionTree; |
| | | import org.jeecg.modules.system.model.TreeModel; |
| | | import org.jeecg.modules.system.service.*; |
| | | import org.jeecg.modules.system.util.PermissionDataUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | | * èåæé表 å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @Author scott |
| | | * @since 2018-12-21 |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("/sys/permission") |
| | | public class SysPermissionController { |
| | | |
| | | @Autowired |
| | | private ISysPermissionService sysPermissionService; |
| | | |
| | | @Autowired |
| | | private ISysRolePermissionService sysRolePermissionService; |
| | | |
| | | @Autowired |
| | | private ISysPermissionDataRuleService sysPermissionDataRuleService; |
| | | |
| | | @Autowired |
| | | private ISysDepartPermissionService sysDepartPermissionService; |
| | | |
| | | @Autowired |
| | | private ISysUserService sysUserService; |
| | | |
| | | @Autowired |
| | | private JeecgBaseConfig jeecgBaseConfig; |
| | | |
| | | @Autowired |
| | | private BaseCommonService baseCommonService; |
| | | |
| | | @Autowired |
| | | private ISysRoleIndexService sysRoleIndexService; |
| | | |
| | | /** |
| | | * åèå |
| | | */ |
| | | private static final String CHILDREN = "children"; |
| | | |
| | | /** |
| | | * å è½½æ°æ®èç¹ |
| | | * |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("system:permission:list") |
| | | @RequestMapping(value = "/list", method = RequestMethod.GET) |
| | | public Result<List<SysPermissionTree>> list(SysPermission sysPermission, HttpServletRequest req) { |
| | | long start = System.currentTimeMillis(); |
| | | Result<List<SysPermissionTree>> result = new Result<>(); |
| | | try { |
| | | LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); |
| | | query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | query.orderByAsc(SysPermission::getSortNo); |
| | | |
| | | //æ¯æéè¿èåååï¼æ¨¡ç³æ¥è¯¢ |
| | | if(oConvertUtils.isNotEmpty(sysPermission.getName())){ |
| | | query.like(SysPermission::getName, sysPermission.getName()); |
| | | } |
| | | List<SysPermission> list = sysPermissionService.list(query); |
| | | List<SysPermissionTree> treeList = new ArrayList<>(); |
| | | |
| | | //妿æèååæ¥è¯¢æ¡ä»¶ï¼åå¹³éºæ°æ® ä¸åä¸ä¸çº§ |
| | | if(oConvertUtils.isNotEmpty(sysPermission.getName())){ |
| | | if(list!=null && list.size()>0){ |
| | | treeList = list.stream().map(e -> { |
| | | e.setLeaf(true); |
| | | return new SysPermissionTree(e); |
| | | }).collect(Collectors.toList()); |
| | | } |
| | | }else{ |
| | | getTreeList(treeList, list, null); |
| | | } |
| | | result.setResult(treeList); |
| | | result.setSuccess(true); |
| | | log.info("======è·åå
¨é¨èåæ°æ®=====èæ¶:" + (System.currentTimeMillis() - start) + "毫ç§"); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /*update_begin author:wuxianquan date:20190908 for:å
æ¥è¯¢ä¸çº§èåï¼å½ç¨æ·ç¹å»å±å¼èåæ¶å è½½åèå */ |
| | | /** |
| | | * ç³»ç»èåå表(ä¸çº§èå) |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/getSystemMenuList", method = RequestMethod.GET) |
| | | public Result<List<SysPermissionTree>> getSystemMenuList() { |
| | | long start = System.currentTimeMillis(); |
| | | Result<List<SysPermissionTree>> result = new Result<>(); |
| | | try { |
| | | LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); |
| | | 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>(); |
| | | for(SysPermission sysPermission : list){ |
| | | SysPermissionTree sysPermissionTree = new SysPermissionTree(sysPermission); |
| | | sysPermissionTreeList.add(sysPermissionTree); |
| | | } |
| | | result.setResult(sysPermissionTreeList); |
| | | result.setSuccess(true); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | } |
| | | log.info("======è·åä¸çº§èåæ°æ®=====èæ¶:" + (System.currentTimeMillis() - start) + "毫ç§"); |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢åèå |
| | | * @param parentId |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/getSystemSubmenu", method = RequestMethod.GET) |
| | | public Result<List<SysPermissionTree>> getSystemSubmenu(@RequestParam("parentId") String parentId){ |
| | | Result<List<SysPermissionTree>> result = new Result<>(); |
| | | try{ |
| | | LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); |
| | | 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>(); |
| | | for(SysPermission sysPermission : list){ |
| | | SysPermissionTree sysPermissionTree = new SysPermissionTree(sysPermission); |
| | | sysPermissionTreeList.add(sysPermissionTree); |
| | | } |
| | | result.setResult(sysPermissionTreeList); |
| | | result.setSuccess(true); |
| | | }catch (Exception e){ |
| | | log.error(e.getMessage(), e); |
| | | } |
| | | return result; |
| | | } |
| | | /*update_end author:wuxianquan date:20190908 for:å
æ¥è¯¢ä¸çº§èåï¼å½ç¨æ·ç¹å»å±å¼èåæ¶å è½½åèå */ |
| | | |
| | | // update_begin author:sunjianlei date:20200108 for: æ°å¢æ¹éæ ¹æ®ç¶IDæ¥è¯¢å级èåçæ¥å£ ------------- |
| | | /** |
| | | * æ¥è¯¢åèå |
| | | * |
| | | * @param parentIds ç¶IDï¼å¤ä¸ªéç¨åè§éå·åå²ï¼ |
| | | * @return è¿å key-value ç Map |
| | | */ |
| | | @GetMapping("/getSystemSubmenuBatch") |
| | | public Result getSystemSubmenuBatch(@RequestParam("parentIds") String parentIds) { |
| | | try { |
| | | LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>(); |
| | | List<String> parentIdList = Arrays.asList(parentIds.split(",")); |
| | | query.in(SysPermission::getParentId, parentIdList); |
| | | query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | query.orderByAsc(SysPermission::getSortNo); |
| | | List<SysPermission> list = sysPermissionService.list(query); |
| | | Map<String, List<SysPermissionTree>> listMap = new HashMap(5); |
| | | for (SysPermission item : list) { |
| | | String pid = item.getParentId(); |
| | | if (parentIdList.contains(pid)) { |
| | | List<SysPermissionTree> mapList = listMap.get(pid); |
| | | if (mapList == null) { |
| | | mapList = new ArrayList<>(); |
| | | } |
| | | mapList.add(new SysPermissionTree(item)); |
| | | listMap.put(pid, mapList); |
| | | } |
| | | } |
| | | return Result.ok(listMap); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | return Result.error("æ¹éæ¥è¯¢åèå失败ï¼" + e.getMessage()); |
| | | } |
| | | } |
| | | // update_end author:sunjianlei date:20200108 for: æ°å¢æ¹éæ ¹æ®ç¶IDæ¥è¯¢å级èåçæ¥å£ ------------- |
| | | |
| | | // /** |
| | | // * æ¥è¯¢ç¨æ·æ¥æçèåæéåæé®æéï¼æ ¹æ®ç¨æ·è´¦å·ï¼ |
| | | // * |
| | | // * @return |
| | | // */ |
| | | // @RequestMapping(value = "/queryByUser", method = RequestMethod.GET) |
| | | // public Result<JSONArray> queryByUser(HttpServletRequest req) { |
| | | // Result<JSONArray> result = new Result<>(); |
| | | // try { |
| | | // String username = req.getParameter("username"); |
| | | // List<SysPermission> metaList = sysPermissionService.queryByUser(username); |
| | | // JSONArray jsonArray = new JSONArray(); |
| | | // this.getPermissionJsonArray(jsonArray, metaList, null); |
| | | // result.setResult(jsonArray); |
| | | // result.success("æ¥è¯¢æå"); |
| | | // } catch (Exception e) { |
| | | // result.error500("æ¥è¯¢å¤±è´¥:" + e.getMessage()); |
| | | // log.error(e.getMessage(), e); |
| | | // } |
| | | // return result; |
| | | // } |
| | | |
| | | /** |
| | | * æ¥è¯¢ç¨æ·æ¥æçèåæéåæé®æé |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/getUserPermissionByToken", method = RequestMethod.GET) |
| | | //@DynamicTable(value = DynamicTableConstant.SYS_ROLE_INDEX) |
| | | public Result<?> getUserPermissionByToken(HttpServletRequest request) { |
| | | Result<JSONObject> result = new Result<JSONObject>(); |
| | | try { |
| | | //ç´æ¥è·åå½åç¨æ·ä¸éç¨å端token |
| | | LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if (oConvertUtils.isEmpty(loginUser)) { |
| | | return Result.error("请ç»å½ç³»ç»ï¼"); |
| | | } |
| | | List<SysPermission> metaList = sysPermissionService.queryByUser(loginUser.getUsername()); |
| | | //æ·»å é¦é¡µè·¯ç± |
| | | //update-begin-author:taoyan date:20200211 for: TASK #3368 ãè·¯ç±ç¼åãé¦é¡µçç¼å设置æé®é¢ï¼éè¦æ ¹æ®åå°çè·¯ç±é
ç½®æ¥å®ç°æ¯å¦ç¼å |
| | | if(!PermissionDataUtil.hasIndexPage(metaList)){ |
| | | // SysPermission indexMenu = sysPermissionService.list(new LambdaQueryWrapper<SysPermission>().eq(SysPermission::getName,"é¦é¡µ")).get(0); |
| | | // metaList.add(0,indexMenu); |
| | | } |
| | | //update-end-author:taoyan date:20200211 for: TASK #3368 ãè·¯ç±ç¼åãé¦é¡µçç¼å设置æé®é¢ï¼éè¦æ ¹æ®åå°çè·¯ç±é
ç½®æ¥å®ç°æ¯å¦ç¼å |
| | | |
| | | //update-begin--Author:zyf Date:20220425 for:èªå®ä¹é¦é¡µå°å LOWCOD-1578 |
| | | String version = request.getHeader(CommonConstant.VERSION); |
| | | //update-begin---author:liusq ---date:2022-06-29 forï¼æ¥å£è¿åå¼ä¿®æ¹ï¼åæ¥ä¿®æ¹è¿éç夿é»è¾----------- |
| | | SysRoleIndex roleIndex= sysUserService.getDynamicIndexByUserRole(loginUser.getUsername(),version); |
| | | //update-end---author:liusq ---date:2022-06-29 forï¼æ¥å£è¿åå¼ä¿®æ¹ï¼åæ¥ä¿®æ¹è¿éç夿é»è¾----------- |
| | | //update-end--Author:zyf Date:20220425 forï¼èªå®ä¹é¦é¡µå°å LOWCOD-1578 |
| | | |
| | | if(roleIndex!=null){ |
| | | List<SysPermission> menus = metaList.stream().filter(sysPermission -> "é¦é¡µ".equals(sysPermission.getName())).collect(Collectors.toList()); |
| | | //update-begin---author:liusq ---date:2022-06-29 forï¼è®¾ç½®èªå®ä¹é¦é¡µå°ååç»ä»¶---------- |
| | | String component = roleIndex.getComponent(); |
| | | String routeUrl = roleIndex.getUrl(); |
| | | boolean route = roleIndex.isRoute(); |
| | | if(oConvertUtils.isNotEmpty(routeUrl)){ |
| | | menus.get(0).setComponent(component); |
| | | menus.get(0).setRoute(route); |
| | | menus.get(0).setUrl(routeUrl); |
| | | }else{ |
| | | menus.get(0).setComponent(component); |
| | | } |
| | | //update-end---author:liusq ---date:2022-06-29 forï¼è®¾ç½®èªå®ä¹é¦é¡µå°ååç»ä»¶----------- |
| | | } |
| | | |
| | | JSONObject json = new JSONObject(); |
| | | JSONArray menujsonArray = new JSONArray(); |
| | | this.getPermissionJsonArray(menujsonArray, metaList, null); |
| | | //ä¸çº§èåä¸çåèåå
¨é¨æ¯éèè·¯ç±ï¼åä¸çº§èå䏿¾ç¤º |
| | | this.handleFirstLevelMenuHidden(menujsonArray); |
| | | |
| | | JSONArray authjsonArray = new JSONArray(); |
| | | this.getAuthJsonArray(authjsonArray, metaList); |
| | | //æ¥è¯¢ææçæé |
| | | LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); |
| | | query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | query.eq(SysPermission::getMenuType, CommonConstant.MENU_TYPE_2); |
| | | //query.eq(SysPermission::getStatus, "1"); |
| | | List<SysPermission> allAuthList = sysPermissionService.list(query); |
| | | JSONArray allauthjsonArray = new JSONArray(); |
| | | this.getAllAuthJsonArray(allauthjsonArray, allAuthList); |
| | | //è·¯ç±èå |
| | | json.put("menu", menujsonArray); |
| | | //æé®æéï¼ç¨æ·æ¥æçæééåï¼ |
| | | json.put("auth", authjsonArray); |
| | | //å
¨é¨æéé
ç½®éåï¼æé®æéï¼è®¿é®æéï¼ |
| | | json.put("allAuth", allauthjsonArray); |
| | | json.put("sysSafeMode", jeecgBaseConfig.getSafeMode()); |
| | | result.setResult(json); |
| | | } catch (Exception e) { |
| | | result.error500("æ¥è¯¢å¤±è´¥:" + e.getMessage()); |
| | | log.error(e.getMessage(), e); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * ãvue3ä¸ç¨ãè·å |
| | | * 1ãæ¥è¯¢ç¨æ·æ¥æçæé®/表åè®¿é®æé |
| | | * 2ãæææé (èåæéé
ç½®) |
| | | * 3ãç³»ç»å®å
¨æ¨¡å¼ (å¼å¯åonlineæ¥è¡¨çæ°æ®æºå¿
å¡«) |
| | | */ |
| | | @RequestMapping(value = "/getPermCode", method = RequestMethod.GET) |
| | | public Result<?> getPermCode() { |
| | | try { |
| | | // ç´æ¥è·åå½åç¨æ· |
| | | LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | if (oConvertUtils.isEmpty(loginUser)) { |
| | | return Result.error("请ç»å½ç³»ç»ï¼"); |
| | | } |
| | | // è·åå½åç¨æ·çæééå |
| | | List<SysPermission> metaList = sysPermissionService.queryByUser(loginUser.getUsername()); |
| | | // æé®æéï¼ç¨æ·æ¥æçæééåï¼ |
| | | List<String> codeList = metaList.stream() |
| | | .filter((permission) -> CommonConstant.MENU_TYPE_2.equals(permission.getMenuType()) && CommonConstant.STATUS_1.equals(permission.getStatus())) |
| | | .collect(ArrayList::new, (list, permission) -> list.add(permission.getPerms()), ArrayList::addAll); |
| | | // |
| | | JSONArray authArray = new JSONArray(); |
| | | this.getAuthJsonArray(authArray, metaList); |
| | | // æ¥è¯¢ææçæé |
| | | LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>(); |
| | | query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | query.eq(SysPermission::getMenuType, CommonConstant.MENU_TYPE_2); |
| | | List<SysPermission> allAuthList = sysPermissionService.list(query); |
| | | JSONArray allAuthArray = new JSONArray(); |
| | | this.getAllAuthJsonArray(allAuthArray, allAuthList); |
| | | JSONObject result = new JSONObject(); |
| | | // ææ¥æçæéç¼ç |
| | | result.put("codeList", codeList); |
| | | //æé®æéï¼ç¨æ·æ¥æçæééåï¼ |
| | | result.put("auth", authArray); |
| | | //å
¨é¨æéé
ç½®éåï¼æé®æéï¼è®¿é®æéï¼ |
| | | result.put("allAuth", allAuthArray); |
| | | // ç³»ç»å®å
¨æ¨¡å¼ |
| | | result.put("sysSafeMode", jeecgBaseConfig.getSafeMode()); |
| | | return Result.OK(result); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | return Result.error("æ¥è¯¢å¤±è´¥:" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ·»å èå |
| | | * @param permission |
| | | * @return |
| | | */ |
| | | @RequiresPermissions("system:permission:add") |
| | | @RequestMapping(value = "/add", method = RequestMethod.POST) |
| | | public Result<SysPermission> add(@RequestBody SysPermission permission) { |
| | | Result<SysPermission> result = new Result<SysPermission>(); |
| | | try { |
| | | permission = PermissionDataUtil.intelligentProcessData(permission); |
| | | sysPermissionService.addPermission(permission); |
| | | result.success("æ·»å æåï¼"); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | result.error500("æä½å¤±è´¥"); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾èå |
| | | * @param permission |
| | | * @return |
| | | */ |
| | | @RequiresPermissions("system:permission:edit") |
| | | @RequestMapping(value = "/edit", method = { RequestMethod.PUT, RequestMethod.POST }) |
| | | public Result<SysPermission> edit(@RequestBody SysPermission permission) { |
| | | Result<SysPermission> result = new Result<>(); |
| | | try { |
| | | permission = PermissionDataUtil.intelligentProcessData(permission); |
| | | sysPermissionService.editPermission(permission); |
| | | result.success("ä¿®æ¹æåï¼"); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | result.error500("æä½å¤±è´¥"); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * æ£æµèåè·¯å¾æ¯å¦åå¨ |
| | | * @param id |
| | | * @param url |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/checkPermDuplication", method = RequestMethod.GET) |
| | | public Result<String> checkPermDuplication(@RequestParam(name = "id", required = false) String id,@RequestParam(name = "url") String url,@RequestParam(name = "alwaysShow") Boolean alwaysShow) { |
| | | Result<String> result = new Result<>(); |
| | | try { |
| | | boolean check=sysPermissionService.checkPermDuplication(id,url,alwaysShow); |
| | | if(check){ |
| | | return Result.ok("该å¼å¯ç¨ï¼"); |
| | | } |
| | | return Result.error("访é®è·¯å¾ä¸å
许éå¤ï¼è¯·éå®ä¹ï¼"); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | result.error500("æä½å¤±è´¥"); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * å é¤èå |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @RequiresPermissions("system:permission:delete") |
| | | @RequestMapping(value = "/delete", method = RequestMethod.DELETE) |
| | | public Result<SysPermission> delete(@RequestParam(name = "id", required = true) String id) { |
| | | Result<SysPermission> result = new Result<>(); |
| | | try { |
| | | sysPermissionService.deletePermission(id); |
| | | result.success("å 餿å!"); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | result.error500(e.getMessage()); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤èå |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @RequiresPermissions("system:permission:deleteBatch") |
| | | @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) |
| | | public Result<SysPermission> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { |
| | | Result<SysPermission> result = new Result<>(); |
| | | try { |
| | | String[] arr = ids.split(","); |
| | | for (String id : arr) { |
| | | if (oConvertUtils.isNotEmpty(id)) { |
| | | try { |
| | | sysPermissionService.deletePermission(id); |
| | | } catch (JeecgBootException e) { |
| | | if(e.getMessage()!=null && e.getMessage().contains("æªæ¾å°èåä¿¡æ¯")){ |
| | | log.warn(e.getMessage()); |
| | | }else{ |
| | | throw e; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | result.success("å 餿å!"); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | result.error500("å é¤å¤±è´¥!"); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * è·åå
¨é¨çæéæ |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET) |
| | | 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>(); |
| | | query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0); |
| | | query.orderByAsc(SysPermission::getSortNo); |
| | | List<SysPermission> list = sysPermissionService.list(query); |
| | | for (SysPermission sysPer : list) { |
| | | ids.add(sysPer.getId()); |
| | | } |
| | | List<TreeModel> treeList = new ArrayList<>(); |
| | | getTreeModelList(treeList, list, null); |
| | | |
| | | Map<String, Object> resMap = new HashMap<String, Object>(5); |
| | | // å
¨é¨æ èç¹æ°æ® |
| | | resMap.put("treeList", treeList); |
| | | // å
¨é¨æ ids |
| | | resMap.put("ids", ids); |
| | | result.setResult(resMap); |
| | | result.setSuccess(true); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 弿¥å è½½æ°æ®èç¹ [æ¥å£æ¯åºç,没æç¨å°] |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/queryListAsync", method = RequestMethod.GET) |
| | | 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) { |
| | | result.error500("æªæ¾å°è§è²ä¿¡æ¯"); |
| | | } else { |
| | | result.setResult(list); |
| | | result.setSuccess(true); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢è§è²ææ |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/queryRolePermission", method = RequestMethod.GET) |
| | | public Result<List<String>> queryRolePermission(@RequestParam(name = "roleId", required = true) String roleId) { |
| | | Result<List<String>> result = new Result<>(); |
| | | try { |
| | | List<SysRolePermission> list = sysRolePermissionService.list(new QueryWrapper<SysRolePermission>().lambda().eq(SysRolePermission::getRoleId, roleId)); |
| | | result.setResult(list.stream().map(sysRolePermission -> String.valueOf(sysRolePermission.getPermissionId())).collect(Collectors.toList())); |
| | | result.setSuccess(true); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * ä¿åè§è²ææ |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/saveRolePermission", method = RequestMethod.POST) |
| | | @RequiresPermissions("system:permission:saveRole") |
| | | public Result<String> saveRolePermission(@RequestBody JSONObject json) { |
| | | long start = System.currentTimeMillis(); |
| | | Result<String> result = new Result<>(); |
| | | try { |
| | | String roleId = json.getString("roleId"); |
| | | String permissionIds = json.getString("permissionIds"); |
| | | String lastPermissionIds = json.getString("lastpermissionIds"); |
| | | this.sysRolePermissionService.saveRolePermission(roleId, permissionIds, lastPermissionIds); |
| | | //update-begin---author:wangshuai ---date:20220316 forï¼[VUEN-234]ç¨æ·ç®¡çè§è²æææ·»å æææ¥å¿------------ |
| | | LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | baseCommonService.addLog("ä¿®æ¹è§è²ID: "+roleId+" çæéé
ç½®ï¼æä½äººï¼ " +loginUser.getUsername() ,CommonConstant.LOG_TYPE_2, 2); |
| | | //update-end---author:wangshuai ---date:20220316 forï¼[VUEN-234]ç¨æ·ç®¡çè§è²æææ·»å æææ¥å¿------------ |
| | | result.success("ä¿åæåï¼"); |
| | | log.info("======è§è²æææå=====èæ¶:" + (System.currentTimeMillis() - start) + "毫ç§"); |
| | | } catch (Exception e) { |
| | | result.error500("ææå¤±è´¥ï¼"); |
| | | log.error(e.getMessage(), e); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | private void getTreeList(List<SysPermissionTree> treeList, List<SysPermission> metaList, SysPermissionTree temp) { |
| | | for (SysPermission permission : metaList) { |
| | | String tempPid = permission.getParentId(); |
| | | SysPermissionTree tree = new SysPermissionTree(permission); |
| | | if (temp == null && oConvertUtils.isEmpty(tempPid)) { |
| | | treeList.add(tree); |
| | | if (!tree.getIsLeaf()) { |
| | | getTreeList(treeList, metaList, tree); |
| | | } |
| | | } else if (temp != null && tempPid != null && tempPid.equals(temp.getId())) { |
| | | temp.getChildren().add(tree); |
| | | if (!tree.getIsLeaf()) { |
| | | getTreeList(treeList, metaList, tree); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | private void getTreeModelList(List<TreeModel> treeList, List<SysPermission> metaList, TreeModel temp) { |
| | | for (SysPermission permission : metaList) { |
| | | String tempPid = permission.getParentId(); |
| | | TreeModel tree = new TreeModel(permission); |
| | | if (temp == null && oConvertUtils.isEmpty(tempPid)) { |
| | | treeList.add(tree); |
| | | if (!tree.getIsLeaf()) { |
| | | getTreeModelList(treeList, metaList, tree); |
| | | } |
| | | } else if (temp != null && tempPid != null && tempPid.equals(temp.getKey())) { |
| | | temp.getChildren().add(tree); |
| | | if (!tree.getIsLeaf()) { |
| | | getTreeModelList(treeList, metaList, tree); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ä¸çº§èåçåèåå
¨é¨æ¯éèè·¯ç±ï¼åä¸çº§èå䏿¾ç¤º |
| | | * @param jsonArray |
| | | */ |
| | | private void handleFirstLevelMenuHidden(JSONArray jsonArray) { |
| | | jsonArray = jsonArray.stream().map(obj -> { |
| | | JSONObject returnObj = new JSONObject(); |
| | | JSONObject jsonObj = (JSONObject)obj; |
| | | if(jsonObj.containsKey(CHILDREN)){ |
| | | JSONArray childrens = jsonObj.getJSONArray(CHILDREN); |
| | | childrens = childrens.stream().filter(arrObj -> !"true".equals(((JSONObject) arrObj).getString("hidden"))).collect(Collectors.toCollection(JSONArray::new)); |
| | | if(childrens==null || childrens.size()==0){ |
| | | jsonObj.put("hidden",true); |
| | | |
| | | //vue3çæ¬å
¼å®¹ä»£ç |
| | | JSONObject meta = new JSONObject(); |
| | | meta.put("hideMenu",true); |
| | | jsonObj.put("meta", meta); |
| | | } |
| | | } |
| | | return returnObj; |
| | | }).collect(Collectors.toCollection(JSONArray::new)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·åæéJSONæ°ç» |
| | | * @param jsonArray |
| | | * @param allList |
| | | */ |
| | | private void getAllAuthJsonArray(JSONArray jsonArray,List<SysPermission> allList) { |
| | | JSONObject json = null; |
| | | for (SysPermission permission : allList) { |
| | | json = new JSONObject(); |
| | | json.put("action", permission.getPerms()); |
| | | json.put("status", permission.getStatus()); |
| | | //1æ¾ç¤º2ç¦ç¨ |
| | | json.put("type", permission.getPermsType()); |
| | | json.put("describe", permission.getName()); |
| | | jsonArray.add(json); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·åæéJSONæ°ç» |
| | | * @param jsonArray |
| | | * @param metaList |
| | | */ |
| | | private void getAuthJsonArray(JSONArray jsonArray,List<SysPermission> metaList) { |
| | | for (SysPermission permission : metaList) { |
| | | if(permission.getMenuType()==null) { |
| | | continue; |
| | | } |
| | | JSONObject json = null; |
| | | if(permission.getMenuType().equals(CommonConstant.MENU_TYPE_2) &&CommonConstant.STATUS_1.equals(permission.getStatus())) { |
| | | json = new JSONObject(); |
| | | json.put("action", permission.getPerms()); |
| | | json.put("type", permission.getPermsType()); |
| | | json.put("describe", permission.getName()); |
| | | jsonArray.add(json); |
| | | } |
| | | } |
| | | } |
| | | /** |
| | | * è·åèåJSONæ°ç» |
| | | * @param jsonArray |
| | | * @param metaList |
| | | * @param parentJson |
| | | */ |
| | | private void getPermissionJsonArray(JSONArray jsonArray, List<SysPermission> metaList, JSONObject parentJson) { |
| | | for (SysPermission permission : metaList) { |
| | | if (permission.getMenuType() == null) { |
| | | continue; |
| | | } |
| | | String tempPid = permission.getParentId(); |
| | | JSONObject json = getPermissionJsonObject(permission); |
| | | if(json==null) { |
| | | continue; |
| | | } |
| | | if (parentJson == null && oConvertUtils.isEmpty(tempPid)) { |
| | | jsonArray.add(json); |
| | | if (!permission.isLeaf()) { |
| | | getPermissionJsonArray(jsonArray, metaList, json); |
| | | } |
| | | } else if (parentJson != null && oConvertUtils.isNotEmpty(tempPid) && tempPid.equals(parentJson.getString("id"))) { |
| | | // ç±»å( 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); |
| | | } else { |
| | | JSONArray permissionList = new JSONArray(); |
| | | permissionList.add(json); |
| | | metaJson.put("permissionList", 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); |
| | | } else { |
| | | JSONArray children = new JSONArray(); |
| | | children.add(json); |
| | | parentJson.put("children", children); |
| | | } |
| | | |
| | | if (!permission.isLeaf()) { |
| | | getPermissionJsonArray(jsonArray, metaList, json); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®èåé
ç½®çæè·¯ç±json |
| | | * @param permission |
| | | * @return |
| | | */ |
| | | private JSONObject getPermissionJsonObject(SysPermission permission) { |
| | | JSONObject json = new JSONObject(); |
| | | // ç±»å(0ï¼ä¸çº§èå 1ï¼åèå 2ï¼æé®) |
| | | if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_2)) { |
| | | //json.put("action", permission.getPerms()); |
| | | //json.put("type", permission.getPermsType()); |
| | | //json.put("describe", permission.getName()); |
| | | return null; |
| | | } else if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_0) || permission.getMenuType().equals(CommonConstant.MENU_TYPE_1)) { |
| | | json.put("id", permission.getId()); |
| | | if (permission.isRoute()) { |
| | | //表示çæè·¯ç± |
| | | json.put("route", "1"); |
| | | } else { |
| | | //表示ä¸çæè·¯ç± |
| | | json.put("route", "0"); |
| | | } |
| | | |
| | | if (isWwwHttpUrl(permission.getUrl())) { |
| | | json.put("path", Md5Util.md5Encode(permission.getUrl(), "utf-8")); |
| | | } else { |
| | | json.put("path", permission.getUrl()); |
| | | } |
| | | |
| | | // éè¦è§åï¼è·¯ç±name (éè¿URLçæè·¯ç±name,è·¯ç±nameä¾å端å¼åï¼é¡µé¢è·³è½¬ä½¿ç¨) |
| | | if (oConvertUtils.isNotEmpty(permission.getComponentName())) { |
| | | json.put("name", permission.getComponentName()); |
| | | } else { |
| | | json.put("name", urlToRouteName(permission.getUrl())); |
| | | } |
| | | |
| | | JSONObject meta = new JSONObject(); |
| | | // æ¯å¦éèè·¯ç±ï¼é»è®¤é½æ¯æ¾ç¤ºç |
| | | if (permission.isHidden()) { |
| | | json.put("hidden", true); |
| | | //vue3çæ¬å
¼å®¹ä»£ç |
| | | meta.put("hideMenu",true); |
| | | } |
| | | // èåè·¯ç± |
| | | if (permission.isAlwaysShow()) { |
| | | json.put("alwaysShow", true); |
| | | } |
| | | json.put("component", permission.getComponent()); |
| | | // ç±ç¨æ·è®¾ç½®æ¯å¦ç¼åé¡µé¢ ç¨å¸å°å¼ |
| | | if (permission.isKeepAlive()) { |
| | | meta.put("keepAlive", true); |
| | | } else { |
| | | meta.put("keepAlive", false); |
| | | } |
| | | |
| | | /*update_begin author:wuxianquan date:20190908 for:å¾èåä¿¡æ¯éæ·»å å¤é¾èåæå¼æ¹å¼ */ |
| | | //å¤é¾èåæå¼æ¹å¼ |
| | | if (permission.isInternalOrExternal()) { |
| | | meta.put("internalOrExternal", true); |
| | | } else { |
| | | meta.put("internalOrExternal", false); |
| | | } |
| | | /* update_end author:wuxianquan date:20190908 for: å¾èåä¿¡æ¯éæ·»å å¤é¾èåæå¼æ¹å¼*/ |
| | | |
| | | meta.put("title", permission.getName()); |
| | | |
| | | //update-begin--Author:scott Date:20201015 forï¼è·¯ç±ç¼åé®é¢ï¼å
³éäºtab页æ¶åæå¼å°±ä¸å·æ° #842 |
| | | String component = permission.getComponent(); |
| | | if(oConvertUtils.isNotEmpty(permission.getComponentName()) || oConvertUtils.isNotEmpty(component)){ |
| | | meta.put("componentName", oConvertUtils.getString(permission.getComponentName(),component.substring(component.lastIndexOf("/")+1))); |
| | | } |
| | | //update-end--Author:scott Date:20201015 forï¼è·¯ç±ç¼åé®é¢ï¼å
³éäºtab页æ¶åæå¼å°±ä¸å·æ° #842 |
| | | |
| | | if (oConvertUtils.isEmpty(permission.getParentId())) { |
| | | // ä¸çº§èå跳转å°å |
| | | json.put("redirect", permission.getRedirect()); |
| | | if (oConvertUtils.isNotEmpty(permission.getIcon())) { |
| | | meta.put("icon", permission.getIcon()); |
| | | } |
| | | } else { |
| | | if (oConvertUtils.isNotEmpty(permission.getIcon())) { |
| | | meta.put("icon", permission.getIcon()); |
| | | } |
| | | } |
| | | if (isWwwHttpUrl(permission.getUrl())) { |
| | | meta.put("url", permission.getUrl()); |
| | | } |
| | | // update-begin--Author:sunjianlei Date:20210918 forï¼æ°å¢éé
vue3项ç®çéètabåè½ |
| | | if (permission.isHideTab()) { |
| | | meta.put("hideTab", true); |
| | | } |
| | | // update-end--Author:sunjianlei Date:20210918 forï¼æ°å¢éé
vue3项ç®çéètabåè½ |
| | | json.put("meta", meta); |
| | | } |
| | | |
| | | return json; |
| | | } |
| | | |
| | | /** |
| | | * 夿æ¯å¦å¤ç½URL ä¾å¦ï¼ http://localhost:8080/jeecg-boot/swagger-ui.html#/ æ¯æç¹æ®æ ¼å¼ï¼ {{ |
| | | * window._CONFIG['domianURL'] }}/druid/ {{ JS代ç çæ®µ }}ï¼åå°è§£æä¼èªå¨æ§è¡JS代ç çæ®µ |
| | | * |
| | | * @return |
| | | */ |
| | | private boolean isWwwHttpUrl(String url) { |
| | | boolean flag = url != null && (url.startsWith(CommonConstant.HTTP_PROTOCOL) || url.startsWith(CommonConstant.HTTPS_PROTOCOL) || url.startsWith(SymbolConstant.DOUBLE_LEFT_CURLY_BRACKET)); |
| | | if (flag) { |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * éè¿URLçæè·¯ç±nameï¼å»æURLåç¼ææ ï¼æ¿æ¢å
容ä¸çææ â/â为-ï¼ ä¸¾ä¾ï¼ URL = /isystem/role RouteName = |
| | | * isystem-role |
| | | * |
| | | * @return |
| | | */ |
| | | private String urlToRouteName(String url) { |
| | | if (oConvertUtils.isNotEmpty(url)) { |
| | | if (url.startsWith(SymbolConstant.SINGLE_SLASH)) { |
| | | url = url.substring(1); |
| | | } |
| | | url = url.replace("/", "-"); |
| | | |
| | | // ç¹æ®æ è®° |
| | | url = url.replace(":", "@"); |
| | | return url; |
| | | } else { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®èåidæ¥è·åå
¶å¯¹åºçæéæ°æ® |
| | | * |
| | | * @param sysPermissionDataRule |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/getPermRuleListByPermId", method = RequestMethod.GET) |
| | | public Result<List<SysPermissionDataRule>> getPermRuleListByPermId(SysPermissionDataRule sysPermissionDataRule) { |
| | | List<SysPermissionDataRule> permRuleList = sysPermissionDataRuleService.getPermRuleListByPermId(sysPermissionDataRule.getPermissionId()); |
| | | Result<List<SysPermissionDataRule>> result = new Result<>(); |
| | | result.setSuccess(true); |
| | | result.setResult(permRuleList); |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * æ·»å èåæéæ°æ® |
| | | * |
| | | * @param sysPermissionDataRule |
| | | * @return |
| | | */ |
| | | @RequiresPermissions("system:permission:addRule") |
| | | @RequestMapping(value = "/addPermissionRule", method = RequestMethod.POST) |
| | | public Result<SysPermissionDataRule> addPermissionRule(@RequestBody SysPermissionDataRule sysPermissionDataRule) { |
| | | Result<SysPermissionDataRule> result = new Result<SysPermissionDataRule>(); |
| | | try { |
| | | sysPermissionDataRule.setCreateTime(new Date()); |
| | | sysPermissionDataRuleService.savePermissionDataRule(sysPermissionDataRule); |
| | | result.success("æ·»å æåï¼"); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | result.error500("æä½å¤±è´¥"); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | @RequiresPermissions("system:permission:editRule") |
| | | @RequestMapping(value = "/editPermissionRule", method = { RequestMethod.PUT, RequestMethod.POST }) |
| | | public Result<SysPermissionDataRule> editPermissionRule(@RequestBody SysPermissionDataRule sysPermissionDataRule) { |
| | | Result<SysPermissionDataRule> result = new Result<SysPermissionDataRule>(); |
| | | try { |
| | | sysPermissionDataRuleService.saveOrUpdate(sysPermissionDataRule); |
| | | result.success("æ´æ°æåï¼"); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | result.error500("æä½å¤±è´¥"); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * å é¤èåæéæ°æ® |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @RequiresPermissions("system:permission:deleteRule") |
| | | @RequestMapping(value = "/deletePermissionRule", method = RequestMethod.DELETE) |
| | | public Result<SysPermissionDataRule> deletePermissionRule(@RequestParam(name = "id", required = true) String id) { |
| | | Result<SysPermissionDataRule> result = new Result<SysPermissionDataRule>(); |
| | | try { |
| | | sysPermissionDataRuleService.deletePermissionDataRule(id); |
| | | result.success("å 餿åï¼"); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | result.error500("æä½å¤±è´¥"); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢èåæéæ°æ® |
| | | * |
| | | * @param sysPermissionDataRule |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/queryPermissionRule", method = RequestMethod.GET) |
| | | public Result<List<SysPermissionDataRule>> queryPermissionRule(SysPermissionDataRule sysPermissionDataRule) { |
| | | Result<List<SysPermissionDataRule>> result = new Result<>(); |
| | | try { |
| | | List<SysPermissionDataRule> permRuleList = sysPermissionDataRuleService.queryPermissionRule(sysPermissionDataRule); |
| | | result.setResult(permRuleList); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | result.error500("æä½å¤±è´¥"); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * é¨é¨æé表 |
| | | * @param departId |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/queryDepartPermission", method = RequestMethod.GET) |
| | | public Result<List<String>> queryDepartPermission(@RequestParam(name = "departId", required = true) String departId) { |
| | | Result<List<String>> result = new Result<>(); |
| | | try { |
| | | List<SysDepartPermission> list = sysDepartPermissionService.list(new QueryWrapper<SysDepartPermission>().lambda().eq(SysDepartPermission::getDepartId, departId)); |
| | | result.setResult(list.stream().map(sysDepartPermission -> String.valueOf(sysDepartPermission.getPermissionId())).collect(Collectors.toList())); |
| | | result.setSuccess(true); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * ä¿åé¨é¨ææ |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/saveDepartPermission", method = RequestMethod.POST) |
| | | @RequiresPermissions("system:permission:saveDepart") |
| | | public Result<String> saveDepartPermission(@RequestBody JSONObject json) { |
| | | long start = System.currentTimeMillis(); |
| | | Result<String> result = new Result<>(); |
| | | try { |
| | | String departId = json.getString("departId"); |
| | | String permissionIds = json.getString("permissionIds"); |
| | | String lastPermissionIds = json.getString("lastpermissionIds"); |
| | | this.sysDepartPermissionService.saveDepartPermission(departId, permissionIds, lastPermissionIds); |
| | | result.success("ä¿åæåï¼"); |
| | | log.info("======é¨é¨æææå=====èæ¶:" + (System.currentTimeMillis() - start) + "毫ç§"); |
| | | } catch (Exception e) { |
| | | result.error500("ææå¤±è´¥ï¼"); |
| | | log.error(e.getMessage(), e); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | } |