Browse Source

Merge branch 'dev1.0' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev1.0-authlogin

dev_shibei_match
hosinokamui 6 years ago
parent
commit
9f47aa9ca0
  1. 8
      epmet-auth/src/main/java/com/epmet/controller/LoginController.java
  2. 4
      epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  3. 4
      epmet-auth/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallback.java
  4. 5
      epmet-auth/src/main/java/com/epmet/service/LoginService.java
  5. 73
      epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java
  6. 4
      epmet-commons/epmet-common-clienttoken/src/main/java/com/epmet/common/token/enums/ErrorCode.java
  7. 28
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/AppClientConstant.java
  8. 13
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java
  9. 45
      epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java
  10. 7
      epmet-gateway/src/main/resources/bootstrap.yml
  11. 4
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  12. 1
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml
  13. 2
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/StrangerAccessRecordService.java
  14. 15
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java
  15. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerUserController.java
  16. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerUserService.java
  17. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerUserServiceImpl.java

8
epmet-auth/src/main/java/com/epmet/controller/LoginController.java

@ -3,8 +3,10 @@ package com.epmet.controller;
import com.epmet.common.token.dto.form.LoginByPassWordFormDTO; import com.epmet.common.token.dto.form.LoginByPassWordFormDTO;
import com.epmet.common.token.dto.form.LoginByWxCodeFormDTO; import com.epmet.common.token.dto.form.LoginByWxCodeFormDTO;
import com.epmet.common.token.dto.result.UserTokenResultDTO; import com.epmet.common.token.dto.result.UserTokenResultDTO;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.exception.ErrorCode; import com.epmet.commons.tools.exception.ErrorCode;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
@ -92,9 +94,9 @@ public class LoginController {
* @Date 2020/3/18 22:43 * @Date 2020/3/18 22:43
**/ **/
@PostMapping(value = "logout") @PostMapping(value = "logout")
public Result logout(HttpServletRequest request) { public Result logout(@LoginUser TokenDto tokenDto, HttpServletRequest request) {
String token = request.getParameter(Constant.TOKEN_HEADER); //String token = request.getParameter(Constant.TOKEN_HEADER);
return loginService.logoutByToken(token); return loginService.logoutByToken(tokenDto);
} }
} }

4
epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -39,8 +39,8 @@ public interface EpmetUserFeignClient {
* @author yinzuomei * @author yinzuomei
* @date 2020/3/16 14:48 * @date 2020/3/16 14:48
*/ */
@PostMapping(value = "epmetuser/customeruser/saveCustomerUser", consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "epmetuser/customeruser/saveOrUpdateCustomerUser", consumes = MediaType.APPLICATION_JSON_VALUE)
Result saveCustomerUser(CustomerUserDTO customerUserDTO); Result saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO);
/** /**
* @param passwordLoginUserInfoFormDTO * @param passwordLoginUserInfoFormDTO

4
epmet-auth/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallback.java

@ -24,8 +24,8 @@ public class EpmetUserFeignClientFallback implements EpmetUserFeignClient {
} }
@Override @Override
public Result saveCustomerUser(CustomerUserDTO customerUserDTO) { public Result saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveCustomerUser", customerUserDTO); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveOrUpdateCustomerUser", customerUserDTO);
} }
@Override @Override

5
epmet-auth/src/main/java/com/epmet/service/LoginService.java

@ -3,6 +3,7 @@ package com.epmet.service;
import com.epmet.common.token.dto.form.LoginByPassWordFormDTO; import com.epmet.common.token.dto.form.LoginByPassWordFormDTO;
import com.epmet.common.token.dto.form.LoginByWxCodeFormDTO; import com.epmet.common.token.dto.form.LoginByWxCodeFormDTO;
import com.epmet.common.token.dto.result.UserTokenResultDTO; import com.epmet.common.token.dto.result.UserTokenResultDTO;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
/** /**
@ -30,11 +31,11 @@ public interface LoginService {
Result<UserTokenResultDTO> loginByPassword(LoginByPassWordFormDTO formDTO); Result<UserTokenResultDTO> loginByPassword(LoginByPassWordFormDTO formDTO);
/** /**
* @param token * @param tokenDto
* @return com.epmet.commons.tools.utils.Result * @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei * @Author yinzuomei
* @Description 退出登录 * @Description 退出登录
* @Date 2020/3/18 22:44 * @Date 2020/3/18 22:44
**/ **/
Result logoutByToken(String token); Result logoutByToken(TokenDto tokenDto);
} }

73
epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java

@ -127,17 +127,68 @@ public class LoginServiceImpl implements LoginService {
WxLoginUserInfoFormDTO wxLoginUserInfoFormDTO = new WxLoginUserInfoFormDTO(); WxLoginUserInfoFormDTO wxLoginUserInfoFormDTO = new WxLoginUserInfoFormDTO();
wxLoginUserInfoFormDTO.setApp(formDTO.getApp()); wxLoginUserInfoFormDTO.setApp(formDTO.getApp());
wxLoginUserInfoFormDTO.setOpenId(wxMaJscode2SessionResult.getOpenid()); wxLoginUserInfoFormDTO.setOpenId(wxMaJscode2SessionResult.getOpenid());
//1、先根据app、client、openId查询
Result<String> userResult = epmetUserFeignClient.selecWxLoginUserInfo(wxLoginUserInfoFormDTO); Result<String> userResult = epmetUserFeignClient.selecWxLoginUserInfo(wxLoginUserInfoFormDTO);
String userId = ""; String userId = "";
if (!userResult.success()) { if (!userResult.success()) {
throw new RenException("获取用户信息失败" + userResult.getMsg()); throw new RenException("获取用户信息失败" + userResult.getMsg());
} }
userId = (String) userResult.getData(); userId = userResult.getData();
if (StringUtils.isBlank(userId) && LoginConstant.APP_GOV.equals(formDTO.getApp())) { //2、如果已经存在userId,则更新微信信息
if (StringUtils.isNotBlank(userId) && StringUtils.isNotBlank(formDTO.getEncryptedData()) && StringUtils.isNotBlank(formDTO.getIv())) {
this.updateWxInfO(userId,formDTO,wxMaJscode2SessionResult);
}
//3、数据库不存在此用户则创建此用户
if (StringUtils.isBlank(userId)) {
userId = createEpmtUser(formDTO, wxMaJscode2SessionResult);
}
return userId;
}
/**
* @return com.epmet.commons.tools.utils.Result
* @param userId
* @param wxMaJscode2SessionResult
* @Author yinzuomei
* @Description 获取用户微信基本信息更新到本地
* @Date 2020/3/20 19:51
**/
private Result updateWxInfO(String userId,
LoginByWxCodeFormDTO formDTO,
WxMaJscode2SessionResult wxMaJscode2SessionResult) {
if (LoginConstant.APP_GOV.equals(formDTO.getApp())) {
//查询customer_staff待完善 //查询customer_staff待完善
} else if (StringUtils.isBlank(userId) && LoginConstant.APP_OPER.equals(formDTO.getApp())) {
} else if (LoginConstant.APP_OPER.equals(formDTO.getApp())) {
//查询oper_user待完善 //查询oper_user待完善
} else if (StringUtils.isBlank(userId) && LoginConstant.APP_RESI.equals(formDTO.getApp())) {
} else if (LoginConstant.APP_RESI.equals(formDTO.getApp())) {
WxMaUserInfo wxMaUserInfo = wxMaServiceUtils.resiWxMaService().getUserService()
.getUserInfo(wxMaJscode2SessionResult.getSessionKey(),
formDTO.getEncryptedData(),
formDTO.getIv());
CustomerUserDTO customerUserDTO = this.packageCustomerUserDTO(wxMaUserInfo);
customerUserDTO.setId(userId);
epmetUserFeignClient.saveOrUpdateCustomerUser(customerUserDTO);
}
return new Result();
}
/**
* @param formDTO
* @param wxMaJscode2SessionResult
* @return java.lang.String
* @Author yinzuomei
* @Description 陌生人首次授权创建用户信息
* @Date 2020/3/20 19:42
**/
private String createEpmtUser(LoginByWxCodeFormDTO formDTO, WxMaJscode2SessionResult wxMaJscode2SessionResult) {
String userId = "";
if (LoginConstant.APP_GOV.equals(formDTO.getApp())) {
//查询customer_staff待完善
} else if (LoginConstant.APP_OPER.equals(formDTO.getApp())) {
//查询oper_user待完善
} else if (LoginConstant.APP_RESI.equals(formDTO.getApp())) {
//查询customer_user //查询customer_user
CustomerUserDTO customerUserDTO = new CustomerUserDTO(); CustomerUserDTO customerUserDTO = new CustomerUserDTO();
if (StringUtils.isNotBlank(formDTO.getIv()) && StringUtils.isNotBlank(formDTO.getEncryptedData())) { if (StringUtils.isNotBlank(formDTO.getIv()) && StringUtils.isNotBlank(formDTO.getEncryptedData())) {
@ -150,9 +201,9 @@ public class LoginServiceImpl implements LoginService {
customerUserDTO.setWxOpenId(wxMaJscode2SessionResult.getOpenid()); customerUserDTO.setWxOpenId(wxMaJscode2SessionResult.getOpenid());
customerUserDTO.setUnionId(wxMaJscode2SessionResult.getUnionid()); customerUserDTO.setUnionId(wxMaJscode2SessionResult.getUnionid());
} }
Result<String> saveCustomerUserResult = epmetUserFeignClient.saveCustomerUser(customerUserDTO); Result<String> saveCustomerUserResult = epmetUserFeignClient.saveOrUpdateCustomerUser(customerUserDTO);
if (!saveCustomerUserResult.success()) { if (!saveCustomerUserResult.success()) {
throw new RenException("创建用户失败" + userResult.getMsg()); throw new RenException("创建用户失败" + saveCustomerUserResult.getMsg());
} }
userId = saveCustomerUserResult.getData(); userId = saveCustomerUserResult.getData();
} }
@ -286,10 +337,16 @@ public class LoginServiceImpl implements LoginService {
@Override @Override
public Result logoutByToken(String token) { public Result logoutByToken(TokenDto tokenDto) {
//记录登出日志 //记录登出日志
//删除redis //删除redis
if(null == tokenDto){
return new Result().error("当前用户信息获取失败!");
}
cpUserDetailRedis.logout(tokenDto.getApp() , tokenDto.getClient() , tokenDto.getUserId());
//web端清空菜单栏和权限,小程序目前又 //web端清空菜单栏和权限,小程序目前又
return null; return new Result().ok("退出登录!");
} }
} }

4
epmet-commons/epmet-common-clienttoken/src/main/java/com/epmet/common/token/enums/ErrorCode.java

@ -18,9 +18,13 @@ public enum ErrorCode implements IErrorCode {
ERR10003(10003, "token生成失败,请重试。"), ERR10003(10003, "token生成失败,请重试。"),
ERR10004(10004, "返回的Object类型不是EsuaResponse,无法添加token!"), ERR10004(10004, "返回的Object类型不是EsuaResponse,无法添加token!"),
ERR10005(10005, "token不能为空"), ERR10005(10005, "token不能为空"),
ERR10006(10006, "登录超时,请重新登录"),
ERR10007(10007, "当前帐号已在别处登录"),
ERR500(500, "Internal Server Error"), ERR500(500, "Internal Server Error"),
ERR501(501, "参数绑定异常"), ERR501(501, "参数绑定异常"),
ERR401(401, "未授权"),
ERR(ErrorCode.COMMON_ERR_CODE, "其他异常"); ERR(ErrorCode.COMMON_ERR_CODE, "其他异常");

28
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/AppClientConstant.java

@ -0,0 +1,28 @@
package com.epmet.commons.tools.constant;
/**
* 公用参数常量
*/
public interface AppClientConstant {
/**
* app类型-居民端端
*/
String APP_RESI = "resi";
/**
* app类型-政府端
*/
String APP_GOV = "gov";
/**
* app类型-运营端
*/
String APP_OPER = "oper";
/**
* PC端:web
*/
String CLIENT_WEB = "web";
/**
* 微信小程序:wxmp
*/
String CLIENT_WXMP = "wxmp";
}

13
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java

@ -10,6 +10,7 @@ package com.epmet.commons.tools.exception;
import com.epmet.commons.tools.utils.MessageUtils; import com.epmet.commons.tools.utils.MessageUtils;
import org.apache.commons.lang3.StringUtils;
/** /**
* 自定义异常 * 自定义异常
@ -42,9 +43,19 @@ public class RenException extends RuntimeException {
public RenException(int code, Throwable e, String... params) { public RenException(int code, Throwable e, String... params) {
super(e); super(e);
this.code = code; this.code = code;
this.msg = MessageUtils.getMessage(code, params);
}
public RenException(int code, String msg){
this.code = code;
if(StringUtils.isBlank(msg)){
this.msg = MessageUtils.getMessage(code, msg);
}else{
this.msg = msg;
}
} }
public RenException(String msg) { public RenException(String msg) {
super(msg); super(msg);
this.code = ErrorCode.INTERNAL_SERVER_ERROR; this.code = ErrorCode.INTERNAL_SERVER_ERROR;

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

@ -2,11 +2,12 @@
package com.epmet.filter; package com.epmet.filter;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.epmet.common.token.enums.ErrorCode;
import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.exception.ErrorCode;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.CpUserDetailRedis; import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.Result;
import com.epmet.jwt.JwtTokenUtils; import com.epmet.jwt.JwtTokenUtils;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -85,16 +86,21 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
logger.info("params token:" + token); logger.info("params token:" + token);
} }
if (StringUtils.isBlank(token)) { if (StringUtils.isBlank(token)) {
return chain.filter(exchange); return response(exchange,new Result<>().error(ErrorCode.ERR10005.getCode(),ErrorCode.ERR10005.getMsg()));
} }
TokenDto user = this.getLoginUserInfo(token); try {
//当前登录用户userId,添加到header中 //当前登录用户userId,添加到header中
if (user != null) { TokenDto user = this.getLoginUserInfo(token);
String redisKey = user.getApp() + "-" + user.getClient() + "-" + user.getUserId(); if (user != null) {
logger.info("redisKey=" + redisKey); String redisKey = user.getApp() + "-" + user.getClient() + "-" + user.getUserId();
ServerHttpRequest build = exchange.getRequest().mutate().header(Constant.APP_USER_KEY, redisKey).build(); logger.info("redisKey=" + redisKey);
return chain.filter(exchange.mutate().request(build).build()); ServerHttpRequest build = exchange.getRequest().mutate().header(Constant.APP_USER_KEY, redisKey).build();
return chain.filter(exchange.mutate().request(build).build());
}
}catch(RenException e){
return response(exchange,new Result<>().error(e.getCode(),e.getMsg()));
} }
return chain.filter(exchange); return chain.filter(exchange);
}; };
} }
@ -103,20 +109,29 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
//是否过期 //是否过期
Claims claims = jwtTokenUtils.getClaimByToken(token); Claims claims = jwtTokenUtils.getClaimByToken(token);
if (claims == null || jwtTokenUtils.isTokenExpired(claims.getExpiration())) { if (claims == null || jwtTokenUtils.isTokenExpired(claims.getExpiration())) {
throw new RenException(ErrorCode.UNAUTHORIZED); throw new RenException(ErrorCode.ERR401.getCode(),ErrorCode.ERR401.getMsg());
} }
//获取用户ID //获取用户ID
String app = (String) claims.get("app"); String app = (String) claims.get("app");
String client = (String) claims.get("client"); String client = (String) claims.get("client");
String userId = (String) claims.get("userId"); String userId = (String) claims.get("userId");
//查询Redis,如果没数据,则保持用户信息到Redis //查询Redis
TokenDto tokenDto = cpUserDetailRedis.get(app, client, userId); TokenDto tokenDto = cpUserDetailRedis.get(app, client, userId);
if (null == tokenDto) { if (null == tokenDto) {
throw new RenException(ErrorCode.REGION_SUB_DELETE_ERROR, Constant.TOKEN_HEADER); //说明登录状态时效(超时)
throw new RenException(ErrorCode.ERR10006.getCode(),ErrorCode.ERR10006.getMsg());
}else{
//Redis中存在数据,取出token,进行比对
if(StringUtils.equals(tokenDto.getToken(),token)){
//用户携带token与Redis中一致
}else{
//用户携带token与Redis中不一致,说明当前用户此次会话失效,提示重新登陆
throw new RenException(ErrorCode.ERR10007.getCode(),ErrorCode.ERR10007.getMsg());
}
} }
//过期时间
long expire = (claims.getExpiration().getTime() - System.currentTimeMillis()) / 1000;
cpUserDetailRedis.set(tokenDto, expire);
return tokenDto; return tokenDto;
} }

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

@ -34,6 +34,7 @@ spring:
- Path=${server.servlet.context-path}/auth/** - Path=${server.servlet.context-path}/auth/**
filters: filters:
- StripPrefix=1 - StripPrefix=1
- CpAuth=true
#Admin服务 #Admin服务
- id: epmet-admin-server - id: epmet-admin-server
uri: @gateway.routes.epmet-admin-server.uri@ uri: @gateway.routes.epmet-admin-server.uri@
@ -181,6 +182,7 @@ renren:
- /gov/org/** - /gov/org/**
- /oper/access/** - /oper/access/**
- /sys/** - /sys/**
- /resi/guide/**
management: management:
endpoints: endpoints:
web: web:
@ -234,14 +236,15 @@ ribbon:
ConnectTimeout: 300000 ConnectTimeout: 300000
epmet: epmet:
# 党群e事通 # 党群e事通(不放行)
urls: urls:
- /oper/customize/** - /oper/customize/**
- /oper/crm/** - /oper/crm/**
- /epmetuser/** - /epmetuser/**
- /gov/org/** - /gov/org/**
- /oper/access/** - /oper/access/**
- /resi/guide/** - /resi/guide/stranger/getgridhome
- /auth/login/logout
swaggerUrls: swaggerUrls:
jwt: jwt:

4
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml

@ -100,7 +100,7 @@
ORDER BY ORDER BY
CONVERT ( a.grid_name USING gbk ) ASC CONVERT ( a.grid_name USING gbk ) ASC
LIMIT 99999
) )
UNION UNION
@ -119,7 +119,7 @@
]]> ]]>
ORDER BY ORDER BY
CONVERT ( b.grid_name USING gbk ) ASC CONVERT ( b.grid_name USING gbk ) ASC
LIMIT 999999
) )
) AS c ) AS c
LIMIT #{pageNo}, #{pageSize} LIMIT #{pageNo}, #{pageSize}

1
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml

@ -34,6 +34,7 @@
SELECT SELECT
b.COMPONENT_ID, b.COMPONENT_ID,
c.COMPONENT_NAME, c.COMPONENT_NAME,
c.COMPONENT_FRONT_ID,
b.REGION, b.REGION,
b.CONFIGURATION, b.CONFIGURATION,
b.DEMO_DATA, b.DEMO_DATA,

2
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/StrangerAccessRecordService.java

@ -106,5 +106,5 @@ public interface StrangerAccessRecordService extends BaseService<StrangerAccessR
* @return void * @return void
* @author sun * @author sun
*/ */
Result<HomeDesignByCustomerResultDTO> getgridhome(TokenDto tokenDTO, StrangerFormDTO formDTO); Result<HomeDesignByCustomerResultDTO> getgridhome(TokenDto tokenDTO, StrangerFormDTO formDTO) throws Exception;
} }

15
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/service/impl/StrangerAccessRecordServiceImpl.java

@ -2,7 +2,9 @@ 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.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
@ -178,7 +180,7 @@ public class StrangerAccessRecordServiceImpl extends BaseServiceImpl<StrangerAcc
* @author sun * @author sun
*/ */
@Override @Override
public Result<HomeDesignByCustomerResultDTO> getgridhome(TokenDto tokenDTO, StrangerFormDTO formDTO) { public Result<HomeDesignByCustomerResultDTO> getgridhome(TokenDto tokenDTO, StrangerFormDTO formDTO) throws Exception {
//token里边有所属端 userId这些参数 前台传递customerID和gridId //token里边有所属端 userId这些参数 前台传递customerID和gridId
//1:调用epmet-user服务查询数据 新建网格记录数据 //1:调用epmet-user服务查询数据 新建网格记录数据
VisitedFormDTO vi = new VisitedFormDTO(); VisitedFormDTO vi = new VisitedFormDTO();
@ -188,7 +190,7 @@ public class StrangerAccessRecordServiceImpl extends BaseServiceImpl<StrangerAcc
epmetUserFeignClient.saveLatestAndVisited(vi); epmetUserFeignClient.saveLatestAndVisited(vi);
//2:调用ope-customize服务 获取首页发布数据 //2:调用ope-customize服务 获取首页发布数据
Result<HomeDesignByCustomerResultDTO> res = getCustomerHomeData(formDTO.getCustomerId(),tokenDTO.getClient()); Result<HomeDesignByCustomerResultDTO> res = getCustomerHomeData(formDTO.getCustomerId(),tokenDTO.getApp());
return res; return res;
} }
@ -200,10 +202,15 @@ public class StrangerAccessRecordServiceImpl extends BaseServiceImpl<StrangerAcc
* @return * @return
* @author sun * @author sun
*/ */
public Result<HomeDesignByCustomerResultDTO> getCustomerHomeData(String customerId,String clientType){ public Result<HomeDesignByCustomerResultDTO> getCustomerHomeData(String customerId,String clientType) throws Exception {
CustomerHomeFormDTO dto = new CustomerHomeFormDTO(); CustomerHomeFormDTO dto = new CustomerHomeFormDTO();
dto.setCustomerId(customerId); dto.setCustomerId(customerId);
dto.setClientType(clientType);//居民端 //居民端 所以参数必须是居民端的参数 否则就是参数错误s
if (AppClientConstant.APP_RESI.equals(clientType)){//居民端
dto.setClientType(NumConstant.ZERO_STR);
}else {
throw new Exception("参数异常,app端不是指定的居民端,请检查token信息!");
}
return operCustomizeFeignClient.getHomeReleaseByCustomer(dto); return operCustomizeFeignClient.getHomeReleaseByCustomer(dto);
} }

6
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerUserController.java

@ -114,11 +114,11 @@ public class CustomerUserController {
* @Description * @Description
* @Date 2020/3/16 15:49 * @Date 2020/3/16 15:49
**/ **/
@PostMapping("saveCustomerUser") @PostMapping("saveOrUpdateCustomerUser")
public Result<String> saveCustomerUser(@RequestBody CustomerUserDTO customerUserDTO) { public Result<String> saveOrUpdateCustomerUser(@RequestBody CustomerUserDTO customerUserDTO) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(customerUserDTO, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(customerUserDTO, AddGroup.class, DefaultGroup.class);
return customerUserService.saveCustomerUser(customerUserDTO); return customerUserService.saveOrUpdateCustomerUser(customerUserDTO);
} }
/** /**

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerUserService.java

@ -114,7 +114,7 @@ public interface CustomerUserService extends BaseService<CustomerUserEntity> {
* @Description * @Description
* @Date 2020/3/16 15:49 * @Date 2020/3/16 15:49
**/ **/
Result<String> saveCustomerUser(CustomerUserDTO customerUserDTO); Result<String> saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO);
/** /**
* @param passwordLoginUserInfoFormDTO * @param passwordLoginUserInfoFormDTO

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

@ -136,9 +136,13 @@ public class CustomerUserServiceImpl extends BaseServiceImpl<CustomerUserDao, Cu
* @Date 2020/3/17 11:04 * @Date 2020/3/17 11:04
**/ **/
@Override @Override
public Result<String> saveCustomerUser(CustomerUserDTO customerUserDTO) { public Result<String> saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO) {
CustomerUserEntity entity = ConvertUtils.sourceToTarget(customerUserDTO, CustomerUserEntity.class); CustomerUserEntity entity = ConvertUtils.sourceToTarget(customerUserDTO, CustomerUserEntity.class);
insert(entity); if (StringUtils.isNotBlank(customerUserDTO.getId())) {
insert(entity);
} else {
updateById(entity);
}
return new Result<String>().ok(entity.getId()); return new Result<String>().ok(entity.getId());
} }

Loading…
Cancel
Save