Browse Source

Merge branches 'dev' and 'dev_voice' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_voice

master
yinzuomei 5 years ago
parent
commit
37734c52c2
  1. 21
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovAccessFeignClient.java
  2. 16
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovAccessFeignClientFallback.java
  3. 2
      epmet-gateway/deploy/docker-compose-dev.yml
  4. 2
      epmet-gateway/pom.xml
  5. 42
      epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java
  6. 29
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/LoginUserDetailsResultDTO.java
  7. 43
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java
  8. 5
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessService.java
  9. 11
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java
  10. 10
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LoginUserDetailsFormDTO.java
  11. 2
      epmet-user/epmet-user-server/deploy/docker-compose-dev.yml
  12. 2
      epmet-user/epmet-user-server/pom.xml
  13. 13
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java
  14. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java
  15. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java

21
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovAccessFeignClient.java

@ -2,40 +2,21 @@ package com.epmet.commons.tools.feign;
import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.HasSpecifiedPermissionFormDTO; import com.epmet.commons.tools.dto.form.HasSpecifiedPermissionFormDTO;
import com.epmet.commons.tools.dto.form.LoginUserInfoFormDTO;
import com.epmet.commons.tools.dto.form.LoginUserInfoResultDTO;
import com.epmet.commons.tools.dto.form.RoleOpeScopeResultDTO;
import com.epmet.commons.tools.feign.fallback.CommonGovAccessFeignClientFallback; import com.epmet.commons.tools.feign.fallback.CommonGovAccessFeignClientFallback;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/** /**
* @Description * @Description
* @Author sun * @Author sun
*/ */
//, url = "localhost:8099" //@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = CommonGovAccessFeignClientFallback.class, url = "localhost:8099")
@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = CommonGovAccessFeignClientFallback.class) @FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = CommonGovAccessFeignClientFallback.class)
public interface CommonGovAccessFeignClient { public interface CommonGovAccessFeignClient {
/**
* 查询登陆用户信息
* @return
*/
@PostMapping("/gov/access/access/loginuserinfo")
Result<LoginUserInfoResultDTO> getLoginUserInfo(@RequestBody LoginUserInfoFormDTO dto);
/**
* 查询角色所有operation及其范围(缓存)
* @return
*/
@PostMapping("/gov/access/access/roleallopesandscopes/{roleId}")
Result<List<RoleOpeScopeResultDTO>> listRoleAllOperationScopesByRoleId(@PathVariable("roleId") String roleId);
/** /**
* 用户是否具有指定权限 * 用户是否具有指定权限
* @param form * @param form

16
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovAccessFeignClientFallback.java

@ -2,16 +2,10 @@ package com.epmet.commons.tools.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.HasSpecifiedPermissionFormDTO; import com.epmet.commons.tools.dto.form.HasSpecifiedPermissionFormDTO;
import com.epmet.commons.tools.dto.form.LoginUserInfoFormDTO;
import com.epmet.commons.tools.dto.form.LoginUserInfoResultDTO;
import com.epmet.commons.tools.dto.form.RoleOpeScopeResultDTO;
import com.epmet.commons.tools.feign.CommonGovAccessFeignClient; import com.epmet.commons.tools.feign.CommonGovAccessFeignClient;
import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
/** /**
* 调用政府端权限 * 调用政府端权限
@ -22,16 +16,6 @@ import java.util.List;
@Component @Component
public class CommonGovAccessFeignClientFallback implements CommonGovAccessFeignClient { public class CommonGovAccessFeignClientFallback implements CommonGovAccessFeignClient {
@Override
public Result<LoginUserInfoResultDTO> getLoginUserInfo(LoginUserInfoFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "getLoginUserInfo", dto);
}
@Override
public Result<List<RoleOpeScopeResultDTO>> listRoleAllOperationScopesByRoleId(@PathVariable("roleId") String roleId){
return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "listRoleAllOperationScopesByRoleId", roleId);
}
@Override @Override
public Result<Boolean> hasSpecifiedPermission(HasSpecifiedPermissionFormDTO form) { public Result<Boolean> hasSpecifiedPermission(HasSpecifiedPermissionFormDTO form) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "hasSpecifiedPermission", form); return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "hasSpecifiedPermission", form);

2
epmet-gateway/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services: services:
epmet-gateway-server: epmet-gateway-server:
container_name: epmet-gateway-server-dev container_name: epmet-gateway-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-gateway:0.3.15 image: 192.168.1.130:10080/epmet-cloud-dev/epmet-gateway:0.3.16
ports: ports:
- "8080:8080" - "8080:8080"
network_mode: host # 使用现有网络 network_mode: host # 使用现有网络

2
epmet-gateway/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>0.3.15</version> <version>0.3.16</version>
<parent> <parent>
<groupId>com.epmet</groupId> <groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId> <artifactId>epmet-cloud</artifactId>

42
epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java

@ -76,6 +76,31 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
String customerId = ""; String customerId = "";
if (baseTokenDto != null) {
if (AppClientConstant.APP_RESI.equals(baseTokenDto.getApp())) {
// 居民端
TokenDto resiTokenDto = getLoginUserInfoByToken(token, jwtTokenUtils, cpUserDetailRedis, TokenDto.class);
if (resiTokenDto != null) {
customerId = resiTokenDto.getCustomerId();
baseTokenDto = resiTokenDto;
}
} else if (AppClientConstant.APP_GOV.equals(baseTokenDto.getApp())) {
// 政府端
GovTokenDto govTokenDto = getLoginUserInfoByToken(token, jwtTokenUtils, cpUserDetailRedis, GovTokenDto.class);
if (govTokenDto != null) {
customerId = govTokenDto.getCustomerId();
baseTokenDto = govTokenDto;
}
} else if(AppClientConstant.APP_OPER.equals(baseTokenDto.getApp())){
//运营端
TokenDto resiTokenDto = getLoginUserInfoByToken(token, jwtTokenUtils, cpUserDetailRedis, TokenDto.class);
if (resiTokenDto != null) {
customerId = resiTokenDto.getCustomerId();
baseTokenDto = resiTokenDto;
}
}
}
//需要认证 //需要认证
if (needAuth(requestUri)) { if (needAuth(requestUri)) {
if (StringUtils.isBlank(token)) { if (StringUtils.isBlank(token)) {
@ -83,22 +108,7 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
} }
// 校验token // 校验token
try { try {
if (AppClientConstant.APP_RESI.equals(baseTokenDto.getApp())) { validateTokenDto(baseTokenDto, token);
// 居民端
TokenDto resiTokenDto = getLoginUserInfoByToken(token, jwtTokenUtils, cpUserDetailRedis, TokenDto.class);
validateTokenDto(resiTokenDto, token);
customerId = resiTokenDto.getCustomerId();
} else if (AppClientConstant.APP_GOV.equals(baseTokenDto.getApp())) {
// 政府端
GovTokenDto govTokenDto = getLoginUserInfoByToken(token, jwtTokenUtils, cpUserDetailRedis, GovTokenDto.class);
validateTokenDto(govTokenDto, token);
customerId = govTokenDto.getCustomerId();
} else if(AppClientConstant.APP_OPER.equals(baseTokenDto.getApp())){
//运营端
TokenDto resiTokenDto = getLoginUserInfoByToken(token, jwtTokenUtils, cpUserDetailRedis, TokenDto.class);
validateTokenDto(resiTokenDto, token);
customerId = resiTokenDto.getCustomerId();
}
} catch (RenException e) { } catch (RenException e) {
return response(exchange,new Result<>().error(e.getCode(),e.getMsg())); return response(exchange,new Result<>().error(e.getCode(),e.getMsg()));
} }

29
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/LoginUserInfoResultDTO.java → epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/LoginUserDetailsResultDTO.java

@ -5,17 +5,22 @@ import lombok.Data;
import java.util.Set; import java.util.Set;
@Data @Data
public class LoginUserInfoResultDTO { public class LoginUserDetailsResultDTO {
/** /**
* 用户ID * 政府端:gov居民端:resi运营端:oper
*/ */
private String userId; private String app;
/**
* PC端:web微信小程序:wxmp
*/
private String client;
/** /**
* 权限列表 * 用户ID
*/ */
private Set<String> permissions; private String userId;
/** /**
* 角色列表 * 角色列表
@ -28,18 +33,24 @@ public class LoginUserInfoResultDTO {
private Set<String> deptIdList; private Set<String> deptIdList;
/** /**
* 组织ID * 当前登录的组织id(顶级)
*/ */
private String orgIdPath; private String agencyId;
/** /**
* 网格ID * 组织ID
*/ */
private String gridId; private String orgIdPath;
/** /**
* 网格ID列表 * 网格ID列表
*/ */
private Set<String> gridIdList; private Set<String> gridIdList;
/**
* 当前工作人员进入的客户id
*/
private String customerId;
} }

43
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java

@ -1,16 +1,13 @@
package com.epmet.controller; package com.epmet.controller;
import com.epmet.commons.tools.security.dto.GovTokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.LoginUserInfoResultDTO;
import com.epmet.dto.result.RoleOpeScopeResultDTO; import com.epmet.dto.result.RoleOpeScopeResultDTO;
import com.epmet.service.AccessService; import com.epmet.service.AccessService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -46,26 +43,26 @@ public class AccessController {
return new Result(); return new Result();
} }
/** ///**
* 从缓存中查询用户信息(DataFilterAspect中用到) // * 从缓存中查询用户信息(DataFilterAspect中用到)
* @return // * @return
*/ // */
@PostMapping("loginuserinfo") //@PostMapping("loginuserinfo")
public Result<LoginUserInfoResultDTO> getLoginUserInfo(@RequestBody StaffPermCacheFormDTO dto) { //public Result<LoginUserInfoResultDTO> getLoginUserInfo(@RequestBody StaffPermCacheFormDTO dto) {
ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class); // ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class);
GovTokenDto govTokenDto = accessService.getUserDetails(dto.getApp(), dto.getClient(), dto.getStaffId()); // GovTokenDto govTokenDto = accessService.getUserDetails(dto.getApp(), dto.getClient(), dto.getStaffId());
LoginUserInfoResultDTO resultDTO = null; // LoginUserInfoResultDTO resultDTO = null;
if (govTokenDto != null) { // if (govTokenDto != null) {
resultDTO = new LoginUserInfoResultDTO(); // resultDTO = new LoginUserInfoResultDTO();
resultDTO.setRoleIdList(govTokenDto.getRoleIdList()); // resultDTO.setRoleIdList(govTokenDto.getRoleIdList());
//resultDTO.setGridId(govTokenDto.getGridId()); // //resultDTO.setGridId(govTokenDto.getGridId());
resultDTO.setOrgIdPath(govTokenDto.getOrgIdPath()); // resultDTO.setOrgIdPath(govTokenDto.getOrgIdPath());
resultDTO.setGridIdList(govTokenDto.getGridIdList()); // resultDTO.setGridIdList(govTokenDto.getGridIdList());
resultDTO.setDeptIdList(govTokenDto.getDeptIdList()); // resultDTO.setDeptIdList(govTokenDto.getDeptIdList());
resultDTO.setUserId(govTokenDto.getUserId()); // resultDTO.setUserId(govTokenDto.getUserId());
} // }
return new Result<LoginUserInfoResultDTO>().ok(resultDTO); // return new Result<LoginUserInfoResultDTO>().ok(resultDTO);
} //}
/** /**
* 查询角色的操作key对应操作范围列表(缓存) * 查询角色的操作key对应操作范围列表(缓存)

5
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessService.java

@ -2,6 +2,7 @@ package com.epmet.service;
import com.epmet.commons.tools.security.dto.GovTokenDto; import com.epmet.commons.tools.security.dto.GovTokenDto;
import com.epmet.dto.form.GetSQLFilterFormDTO; import com.epmet.dto.form.GetSQLFilterFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.dto.result.RoleOpeScopeResultDTO; import com.epmet.dto.result.RoleOpeScopeResultDTO;
import java.util.List; import java.util.List;
@ -17,10 +18,10 @@ public interface AccessService {
void updatePermissionCache(String staffId, String app, String client, Set<String> permissions, Set<String> roleIdList, String orgIdPath, String gridId); void updatePermissionCache(String staffId, String app, String client, Set<String> permissions, Set<String> roleIdList, String orgIdPath, String gridId);
/** /**
* 查询用户当前权限列表 * 查询登陆用户登陆信息
* @return * @return
*/ */
GovTokenDto getUserDetails(String app, String client, String staffId); LoginUserDetailsResultDTO getLoginUserDetails(String app, String client, String staffId);
/** /**
* 查询角色的操作key对应操作范围列表 * 查询角色的操作key对应操作范围列表

11
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java

@ -16,6 +16,7 @@ import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.form.GetSQLFilterFormDTO; import com.epmet.dto.form.GetSQLFilterFormDTO;
import com.epmet.dto.form.StaffRoleFormDTO; import com.epmet.dto.form.StaffRoleFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.dto.result.RoleOpeScopeResultDTO; import com.epmet.dto.result.RoleOpeScopeResultDTO;
import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovOrgFeignClient; import com.epmet.feign.GovOrgFeignClient;
@ -90,8 +91,8 @@ public class AccessServiceImpl implements AccessService {
} }
@Override @Override
public GovTokenDto getUserDetails(String app, String client, String staffId) { public LoginUserDetailsResultDTO getLoginUserDetails(String app, String client, String staffId) {
return cpUserDetailRedis.get(app, client, staffId, GovTokenDto.class); return cpUserDetailRedis.get(app, client, staffId, LoginUserDetailsResultDTO.class);
} }
/** /**
@ -132,7 +133,7 @@ public class AccessServiceImpl implements AccessService {
return true; return true;
} }
GovTokenDto userDetails = getUserDetails(app, client, userId); LoginUserDetailsResultDTO userDetails = getLoginUserDetails(app, client, userId);
if (userDetails == null) { if (userDetails == null) {
return false; return false;
} }
@ -157,7 +158,7 @@ public class AccessServiceImpl implements AccessService {
@Override @Override
public String getSqlFilterSegment(GetSQLFilterFormDTO form) { public String getSqlFilterSegment(GetSQLFilterFormDTO form) {
hasConditions.set(false); hasConditions.set(false);
GovTokenDto userDetails = getUserDetails(form.getApp(), form.getClient(), form.getUserId()); LoginUserDetailsResultDTO userDetails = getLoginUserDetails(form.getApp(), form.getClient(), form.getUserId());
if (userDetails == null) { if (userDetails == null) {
logger.error("查询SQL过滤脚本:没有找到用户的登陆信息:app: {}, client: {}, userId:{}", form.getApp(), form.getClient(), form.getUserId()); logger.error("查询SQL过滤脚本:没有找到用户的登陆信息:app: {}, client: {}, userId:{}", form.getApp(), form.getClient(), form.getUserId());
throw new RenException(EpmetErrorCode.ERR10006.getCode()); throw new RenException(EpmetErrorCode.ERR10006.getCode());
@ -453,7 +454,7 @@ public class AccessServiceImpl implements AccessService {
@Override @Override
public Set<String> listOperationPermissions(String staffId, String currAgencyId) { public Set<String> listOperationPermissions(String staffId, String currAgencyId) {
GovTokenDto userDetails = getUserDetails(loginUserUtil.getLoginUserApp(), loginUserUtil.getLoginUserClient(), loginUserUtil.getLoginUserId()); LoginUserDetailsResultDTO userDetails = getLoginUserDetails(loginUserUtil.getLoginUserApp(), loginUserUtil.getLoginUserClient(), loginUserUtil.getLoginUserId());
if (userDetails == null) { if (userDetails == null) {
throw new RenException(EpmetErrorCode.ERR10006.getCode(), EpmetErrorCode.ERR10006.getMsg()); throw new RenException(EpmetErrorCode.ERR10006.getCode(), EpmetErrorCode.ERR10006.getMsg());
} }

10
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LoginUserDetailsFormDTO.java

@ -0,0 +1,10 @@
package com.epmet.dto.form;
import lombok.Data;
@Data
public class LoginUserDetailsFormDTO {
private String app;
private String client;
private String userId;
}

2
epmet-user/epmet-user-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services: services:
epmet-user-server: epmet-user-server:
container_name: epmet-user-server-dev container_name: epmet-user-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.53 image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.55
ports: ports:
- "8087:8087" - "8087:8087"
network_mode: host # 不会创建新的网络 network_mode: host # 不会创建新的网络

2
epmet-user/epmet-user-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>0.3.53</version> <version>0.3.55</version>
<parent> <parent>
<groupId>com.epmet</groupId> <groupId>com.epmet</groupId>
<artifactId>epmet-user</artifactId> <artifactId>epmet-user</artifactId>

13
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java

@ -10,11 +10,11 @@ import com.epmet.dto.UserDTO;
import com.epmet.dto.UserWechatDTO; import com.epmet.dto.UserWechatDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.CreatedTimeByUserIdResultDTO; import com.epmet.dto.result.CreatedTimeByUserIdResultDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.dto.result.MyResiUserInfoResultDTO; import com.epmet.dto.result.MyResiUserInfoResultDTO;
import com.epmet.dto.result.PasswordLoginUserInfoResultDTO; import com.epmet.dto.result.PasswordLoginUserInfoResultDTO;
import com.epmet.service.UserService; import com.epmet.service.UserService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -111,4 +111,15 @@ public class UserController {
return new Result<MyResiUserInfoResultDTO>().ok(userService.resiMyselfMsg(myResiUserInfoFormDTO)); return new Result<MyResiUserInfoResultDTO>().ok(userService.resiMyselfMsg(myResiUserInfoFormDTO));
} }
/**
* 从缓存中查询已登录用户的基本信息以及角色等相关信息
* @return
*/
@PostMapping("loginuserdetails")
public Result<LoginUserDetailsResultDTO> getLoginUserDetails(@RequestBody LoginUserDetailsFormDTO dto) {
ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class);
LoginUserDetailsResultDTO govTokenDto = userService.getLoginUserDetails(dto.getApp(), dto.getClient(), dto.getUserId());
return new Result<LoginUserDetailsResultDTO>().ok(govTokenDto);
}
} }

11
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java

@ -1,19 +1,16 @@
package com.epmet.service; package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.UserDTO; import com.epmet.dto.UserDTO;
import com.epmet.dto.UserWechatDTO; import com.epmet.dto.UserWechatDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.CreatedTimeByUserIdResultDTO; import com.epmet.dto.result.CreatedTimeByUserIdResultDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.dto.result.MyResiUserInfoResultDTO; import com.epmet.dto.result.MyResiUserInfoResultDTO;
import com.epmet.dto.result.PasswordLoginUserInfoResultDTO; import com.epmet.dto.result.PasswordLoginUserInfoResultDTO;
import com.epmet.entity.UserEntity; import com.epmet.entity.UserEntity;
import java.util.List;
import java.util.Map;
/** /**
* @Description * @Description
* @IntefaceName UserService * @IntefaceName UserService
@ -73,4 +70,10 @@ public interface UserService extends BaseService<UserEntity> {
* @date 2020.05.22 19:24 * @date 2020.05.22 19:24
**/ **/
MyResiUserInfoResultDTO resiMyselfMsg(MyResiUserInfoFormDTO myResiUserInfoFormDTO); MyResiUserInfoResultDTO resiMyselfMsg(MyResiUserInfoFormDTO myResiUserInfoFormDTO);
/**
* 查询登陆用户信息
* @return
*/
LoginUserDetailsResultDTO getLoginUserDetails(String app, String client, String staffId);
} }

8
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java

@ -2,6 +2,7 @@ package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.UserConstant; import com.epmet.constant.UserConstant;
import com.epmet.dao.UserDao; import com.epmet.dao.UserDao;
@ -42,6 +43,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
private GovOrgFeignClient govOrgFeignClient; private GovOrgFeignClient govOrgFeignClient;
@Autowired @Autowired
private UserRoleDao userRoleDao; private UserRoleDao userRoleDao;
@Autowired
private CpUserDetailRedis cpUserDetailRedis;
private static final Logger log = LoggerFactory.getLogger(UserServiceImpl.class); private static final Logger log = LoggerFactory.getLogger(UserServiceImpl.class);
@ -174,4 +177,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return null; return null;
} }
@Override
public LoginUserDetailsResultDTO getLoginUserDetails(String app, String client, String userId) {
return cpUserDetailRedis.get(app, client, userId, LoginUserDetailsResultDTO.class);
}
} }

Loading…
Cancel
Save