Browse Source

登录菜单获取修改

dev_shibei_match
hosinokamui 6 years ago
parent
commit
5fa947342e
  1. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  2. 1
      epmet-gateway/src/main/resources/bootstrap.yml
  3. 5
      epmet-module/oper-access/oper-access-client/src/main/java/com/epmet/dto/OperMenuDTO.java
  4. 18
      epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java
  5. 10
      epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleController.java
  6. 13
      epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperMenuService.java
  7. 25
      epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperMenuServiceImpl.java
  8. 17
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java
  9. 7
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -65,7 +65,7 @@ public class RedisKeys {
* 用户菜单导航Key
*/
public static String getUserMenuNavKey(String userId, String app, String client, String language) {
return rootPrefix.concat("oper:access:nav:").concat(userId).concat("_").concat(app).concat("_").concat(client).concat("_").concat(language);
return rootPrefix.concat("oper:access:nav:").concat(app).concat("-").concat(client).concat("-").concat(userId).concat("-").concat(language);
}
/**
@ -86,7 +86,7 @@ public class RedisKeys {
* 用户权限标识Key
*/
public static String getUserPermissionsKey(String userId, String app, String client) {
return rootPrefix.concat("oper:access:permissions:").concat(userId).concat("_").concat(app).concat("_").concat(client);
return rootPrefix.concat("oper:access:permissions:").concat(app).concat("_").concat(client).concat("_").concat(userId);
}
/**

1
epmet-gateway/src/main/resources/bootstrap.yml

@ -179,6 +179,7 @@ renren:
- /epmetuser/**
- /gov/org/**
- /oper/access/**
- /sys/**
management:
endpoints:
web:

5
epmet-module/oper-access/oper-access-client/src/main/java/com/epmet/dto/OperMenuDTO.java

@ -47,6 +47,11 @@ public class OperMenuDTO extends TreeStringNode<OperMenuDTO> implements Serializ
*/
private String pid;
/**
* 菜单名称
*/
private String name;
/**
* 菜单URL
*/

18
epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java

@ -1,6 +1,8 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -79,23 +81,23 @@ public class OperMenuController {
/**
* 导航
* @param userInfo token
* @param tokenDto token
* @return List<OperMenuDTO>
*/
@PostMapping("nav")
public Result<List<OperMenuDTO>> nav(@RequestBody UserInfoDto userInfo){
List<OperMenuDTO> list = operMenuService.getUserMenuNavList(userInfo);
@GetMapping("nav")
public Result<List<OperMenuDTO>> nav(@LoginUser TokenDto tokenDto){
List<OperMenuDTO> list = operMenuService.getUserMenuNavList(tokenDto);
return new Result<List<OperMenuDTO>>().ok(list);
}
/**
* 权限标识
* @param userInfo token
* @param tokenDto token
* @return Set<String>
*/
@PostMapping("permissions")
public Result<Set<String>> permissions(@RequestBody UserInfoDto userInfo){
Set<String> set = operMenuService.getUserPermissions(userInfo);
@GetMapping("permissions")
public Result<Set<String>> permissions(@LoginUser TokenDto tokenDto){
Set<String> set = operMenuService.getUserPermissions(tokenDto);
return new Result<Set<String>>().ok(set);
}

10
epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleController.java

@ -28,10 +28,12 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.OperRoleDTO;
import com.epmet.excel.OperRoleExcel;
import com.epmet.service.OperRoleService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -91,4 +93,12 @@ public class OperRoleController {
ExcelUtils.exportExcelToTarget(response, null, list, OperRoleExcel.class);
}
@GetMapping("list")
@ApiOperation("列表")
public Result<List<OperRoleDTO>> list(){
List<OperRoleDTO> data = operRoleService.list(new HashMap<>(1));
return new Result<List<OperRoleDTO>>().ok(data);
}
}

13
epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperMenuService.java

@ -19,6 +19,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.UserDetail;
import com.epmet.dto.OperMenuDTO;
import com.epmet.dto.form.UserInfoDto;
@ -99,23 +100,23 @@ public interface OperMenuService extends BaseService<OperMenuEntity> {
/**
* 用户菜单列表
*
* @param userInfo 用户信息
* @param tokenDto 用户信息
* @param type 菜单类型
* @return java.util.List<OperMenuDTO>
*/
List<OperMenuDTO> getUserMenuList(UserInfoDto userInfo, Integer type);
List<OperMenuDTO> getUserMenuList(TokenDto tokenDto, Integer type);
/**
* 用户菜单导航
* @param userInfo 用户信息
* @param tokenDto 用户信息
* @return java.util.List<OperMenuDTO>
*/
List<OperMenuDTO> getUserMenuNavList(UserInfoDto userInfo);
List<OperMenuDTO> getUserMenuNavList(TokenDto tokenDto);
/**
* 获取用户权限标识
* @param userInfo 用户信息
* @param tokenDto 用户信息
* @return java.util.Set<OperMenuDTO>
*/
Set<String> getUserPermissions(UserInfoDto userInfo);
Set<String> getUserPermissions(TokenDto tokenDto);
}

25
epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperMenuServiceImpl.java

@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.enums.SuperAdminEnum;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.HttpContextUtils;
@ -110,16 +111,16 @@ public class OperMenuServiceImpl extends BaseServiceImpl<OperMenuDao, OperMenuEn
}
@Override
public List<OperMenuDTO> getUserMenuList(UserInfoDto userInfo, Integer type) {
public List<OperMenuDTO> getUserMenuList(TokenDto tokenDto, Integer type) {
List<OperMenuEntity> menuList;
Result<OperUserDTO> operUserDTOResult = epmetUserFeignClient.info(userInfo.getUserId());
Result<OperUserDTO> operUserDTOResult = epmetUserFeignClient.info(tokenDto.getUserId());
//系统管理员,拥有最高权限
if(operUserDTOResult.getData().getSuperAdmin() == SuperAdminEnum.YES.value()){
menuList = baseDao.getMenuList(type, HttpContextUtils.getLanguage());
}else {
menuList = baseDao.getUserMenuList(userInfo.getUserId(), type, HttpContextUtils.getLanguage());
menuList = baseDao.getUserMenuList(tokenDto.getUserId(), type, HttpContextUtils.getLanguage());
}
List<OperMenuDTO> dtoList = ConvertUtils.sourceToTarget(menuList, OperMenuDTO.class);
@ -128,33 +129,33 @@ public class OperMenuServiceImpl extends BaseServiceImpl<OperMenuDao, OperMenuEn
}
@Override
public List<OperMenuDTO> getUserMenuNavList(UserInfoDto userInfo) {
List<OperMenuDTO> menuList = operMenuRedis.getUserMenuNavList(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient());
public List<OperMenuDTO> getUserMenuNavList(TokenDto tokenDto) {
List<OperMenuDTO> menuList = operMenuRedis.getUserMenuNavList(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient());
if(menuList == null){
menuList = getUserMenuList(userInfo, MenuTypeEnum.MENU.value());
menuList = getUserMenuList(tokenDto, MenuTypeEnum.MENU.value());
operMenuRedis.setUserMenuNavList(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient(), menuList);
operMenuRedis.setUserMenuNavList(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient(), menuList);
}
return menuList;
}
@Override
public Set<String> getUserPermissions(UserInfoDto userInfo) {
public Set<String> getUserPermissions(TokenDto tokenDto) {
//用户权限列表
Set<String> permsSet = operMenuRedis.getUserPermissions(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient());
Set<String> permsSet = operMenuRedis.getUserPermissions(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient());
if(permsSet != null){
return permsSet;
}
Result<OperUserDTO> operUserDTOResult = epmetUserFeignClient.info(userInfo.getUserId());
Result<OperUserDTO> operUserDTOResult = epmetUserFeignClient.info(tokenDto.getUserId());
//超级管理员,拥有最高权限
List<OperMenuEntity> menuList;
if(operUserDTOResult.getData().getSuperAdmin() == SuperAdminEnum.YES.value()){
menuList = baseDao.getMenuList(MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage());
}else{
menuList = baseDao.getUserMenuList(userInfo.getUserId(), MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage());
menuList = baseDao.getUserMenuList(tokenDto.getUserId(), MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage());
}
permsSet = new HashSet<>();
@ -165,7 +166,7 @@ public class OperMenuServiceImpl extends BaseServiceImpl<OperMenuDao, OperMenuEn
}
//保存到缓存
operMenuRedis.setUserPermissions(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient(), permsSet);
operMenuRedis.setUserPermissions(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient(), permsSet);
return permsSet;
}

17
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java

@ -17,8 +17,9 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.user.UserDetail;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
@ -96,6 +97,20 @@ public class OperUserController {
/**
* 获取运营人员信息
*
* @param tokenDto token
* @return OperUserDTO
* @author zhaoqifeng
*/
@GetMapping("queryOperUserDto")
public Result<OperUserDTO> queryOperUserDto(@LoginUser TokenDto tokenDto) {
OperUserDTO data = operUserService.getOperUserInfoById(tokenDto.getUserId());
return new Result<OperUserDTO>().ok(data);
}
/**
* 获取运营人员信息
*
* @param operUserId oper_user表主键
* @return OperUserDTO
* @author zhaoqifeng

7
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java

@ -53,11 +53,13 @@ public class OperUserServiceImpl extends BaseServiceImpl<OperUserDao, OperUserEn
@Override
public PageData<OperUserDTO> page(Map<String, Object> params) {
IPage<OperUserEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, OperUserDTO.class);
}
@Override
@ -69,10 +71,9 @@ public class OperUserServiceImpl extends BaseServiceImpl<OperUserDao, OperUserEn
private QueryWrapper<OperUserEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
String realName = (String)params.get("realName");
QueryWrapper<OperUserEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id).like(StringUtils.isNotBlank(realName), "real_name", realName);
return wrapper;
}

Loading…
Cancel
Save