Commit 949716b95b1584735643924791f89565ada86ce3

Authored by jiangjiazhi
1 parent c1b3adda5c

a

Showing 1 changed file with 81 additions and 0 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RolesController.java View file @ 949716b
... ... @@ -464,6 +464,87 @@
464 464 }
465 465  
466 466  
  467 +
  468 + /**
  469 + * 获取用户角色列表
  470 + */
  471 + @RequestMapping(value = "/currentUserRoles", method = RequestMethod.GET)
  472 + @ResponseBody
  473 + @TokenRequired
  474 + public FrontEndResult getCurrentUserRoleList(HttpServletResponse response, HttpServletRequest request,
  475 + @RequestParam(value = "keyword", required = false) String keyword,
  476 + @RequestParam(value = "page", required = false) Integer page,
  477 + @RequestParam(value = "limit", required = false) Integer limit,
  478 + @RequestParam(value = "orgIds", required = false) String orgIds,
  479 + @RequestParam(value = "enable", required = false) Integer enable) {
  480 +
  481 + limit = 200;
  482 + page = page == null ? 1 : page;
  483 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  484 + RolesQuery rolesQuery = new RolesQuery();
  485 + rolesQuery.setNeed("true");
  486 + rolesQuery.setSort("modified desc");
  487 + rolesQuery.setYn(YnEnums.YES.getId());
  488 + rolesQuery.setType(1);
  489 + rolesQuery.setKeyword(keyword);
  490 + rolesQuery.setPage(page);
  491 + rolesQuery.setLimit(limit);
  492 + rolesQuery.setEnable(enable);
  493 + List list =new ArrayList();
  494 + if(StringUtils.isNotEmpty(orgIds)){
  495 + String[] as =orgIds.split(",");
  496 + for(String a :as){
  497 + list.add(Integer.valueOf(a));
  498 + }
  499 + }
  500 + rolesQuery.setOrgIds(list);
  501 + List<Roles> roles = rolesService.queryRoles(rolesQuery);
  502 + List<Roles> rolesList = new ArrayList<>();
  503 + if (CollectionUtils.isNotEmpty(roles)) {
  504 +
  505 + Users users = usersService.getUsers(loginState.getId());
  506 + if (users.getType() == 2) {
  507 + rolesList.addAll(roles);
  508 + } else {
  509 + UserRoleMapsQuery userRoleMapsQuery = new UserRoleMapsQuery();
  510 + userRoleMapsQuery.setYn(YnEnums.YES.getId());
  511 + userRoleMapsQuery.setUserId(users.getId());
  512 + List<UserRoleMaps> userRoleMapsList = userRoleMapsService.queryUserRoleMaps(userRoleMapsQuery);
  513 + List<Integer> onwerRoleIds = new ArrayList<>();
  514 + for (UserRoleMaps maps:userRoleMapsList) {
  515 + onwerRoleIds.add(maps.getRoleId());
  516 + }
  517 + for (Roles roles1 : roles) {
  518 + if (onwerRoleIds.contains(roles1.getId())) {
  519 + rolesList.add(roles1);
  520 + }
  521 + }
  522 + }
  523 +
  524 + List<Permissions2> permissionses;
  525 + for (Roles roles1 : rolesList) {
  526 + permissionses = permissions2Service.queryPermissionByRoleIds1(roles1.getId());
  527 +
  528 + roles1.setPermissions(permissionses);
  529 + String name = "";
  530 + if (null != roles1.getOrgId()) {
  531 + Organization o = organizationService.getOrganization(roles1.getOrgId());
  532 + if(null!=o){
  533 + name = o.getName();
  534 + }
  535 + }
  536 + roles1.setOrgName(name);
  537 + }
  538 + }
  539 +
  540 +
  541 + FrontEndResult frontEndResult = new FrontEndResult();
  542 + frontEndResult.setPageInfo(rolesQuery.getPageInfo());
  543 + frontEndResult.setData(rolesList);
  544 + frontEndResult.setErrorcode(ErrorCodeConstants.SUCCESS);
  545 + return frontEndResult;
  546 + }
  547 +
467 548 /**
468 549 * 获取管理员角色列表
469 550 */