Browse Source

用户信息显示修改,tokenDto注入修改

dev
wangchao 6 years ago
parent
commit
d961d7b855
  1. 15
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/AppClientConstant.java
  2. 15
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/resolver/LoginUserHandlerMethodArgumentResolver.java
  3. 9
      epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java
  4. 3
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java
  5. 6
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java
  6. 4
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java
  7. 2
      epmet-module/resi-group/resi-group-server/pom.xml
  8. 8
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  9. 1
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java
  10. 26
      epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml

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

@ -25,4 +25,19 @@ public interface AppClientConstant {
* 微信小程序:wxmp * 微信小程序:wxmp
*/ */
String CLIENT_WXMP = "wxmp"; String CLIENT_WXMP = "wxmp";
/**
* 客户来源App
* */
String APP = "app";
/**
* 用户Id
* */
String USER_ID = "userId";
/**
* 客户端
* */
String CLIENT = "client";
} }

15
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/security/resolver/LoginUserHandlerMethodArgumentResolver.java

@ -19,6 +19,9 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.support.WebDataBinderFactory; import org.springframework.web.bind.support.WebDataBinderFactory;
@ -32,11 +35,15 @@ import org.springframework.web.method.support.ModelAndViewContainer;
* @author Mark sunlightcs@gmail.com * @author Mark sunlightcs@gmail.com
*/ */
@Service @Service
@PropertySource("classpath:bootstrap.yml")
@ConfigurationProperties(prefix = "redis")
public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver { public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver {
private Logger logger = LoggerFactory.getLogger(getClass()); private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired @Autowired
private CpUserDetailRedis cpUserDetailRedis; private CpUserDetailRedis cpUserDetailRedis;
@Value("${database}")
private String redisDb;
public LoginUserHandlerMethodArgumentResolver(){ public LoginUserHandlerMethodArgumentResolver(){
@ -69,8 +76,14 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu
String app=keyArray[0]; String app=keyArray[0];
String client=keyArray[1]; String client=keyArray[1];
String userId=keyArray[2]; String userId=keyArray[2];
TokenDto tokenDto = cpUserDetailRedis.get(app,client,userId);
//TokenDto tokenDto = cpUserDetailRedis.get(app,client,userId);
TokenDto tokenDto = new TokenDto();
tokenDto.setUserId(request.getHeader("userId"));
tokenDto.setApp(request.getHeader("app"));
tokenDto.setClient(request.getHeader("client"));
logger.info("resolveArgument TokenDto:"+ JSON.toJSONString(tokenDto)); logger.info("resolveArgument TokenDto:"+ JSON.toJSONString(tokenDto));
logger.info("CURRENT-REDIS-DATABASE---------!!!!!!:"+redisDb);
return tokenDto; return tokenDto;
} }
} }

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

@ -3,6 +3,7 @@ package com.epmet.filter;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.epmet.common.token.enums.ErrorCode; import com.epmet.common.token.enums.ErrorCode;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.Constant;
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;
@ -30,6 +31,7 @@ import reactor.core.publisher.Mono;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.function.Consumer;
/** /**
* app接口权限过滤器 * app接口权限过滤器
@ -94,7 +96,12 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
if (user != null) { if (user != null) {
String redisKey = user.getApp() + "-" + user.getClient() + "-" + user.getUserId(); String redisKey = user.getApp() + "-" + user.getClient() + "-" + user.getUserId();
logger.info("redisKey=" + redisKey); logger.info("redisKey=" + redisKey);
ServerHttpRequest build = exchange.getRequest().mutate().header(Constant.APP_USER_KEY, redisKey).build(); ServerHttpRequest build = exchange.getRequest().mutate()
.header(Constant.APP_USER_KEY, redisKey)
.header(AppClientConstant.APP,user.getApp())
.header(AppClientConstant.CLIENT,user.getClient())
.header(AppClientConstant.USER_ID,user.getUserId())
.build();
return chain.filter(exchange.mutate().request(build).build()); return chain.filter(exchange.mutate().request(build).build());
} }
}catch(RenException e){ }catch(RenException e){

3
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/comment/result/ResiCommentResultDTO.java

@ -1,5 +1,7 @@
package com.epmet.resi.group.dto.comment.result; package com.epmet.resi.group.dto.comment.result;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -43,6 +45,7 @@ public class ResiCommentResultDTO implements Serializable {
/** /**
* 评论时间 yyyy-MM-dd HH:mm:ss * 评论时间 yyyy-MM-dd HH:mm:ss
* */ * */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private String commentTime; private String commentTime;
/** /**

6
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java

@ -1,5 +1,7 @@
package com.epmet.resi.group.dto.topic.result; package com.epmet.resi.group.dto.topic.result;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -32,8 +34,10 @@ public class ResiTopicDetailResultDTO implements Serializable {
private String releaseUserHeadPhoto; private String releaseUserHeadPhoto;
/** /**
* 发布时间 yyyy-MM-dd HH:mm:ss * 发布时间 yyyy-MM-dd HH:mm
* */ * */
@JSONField(format="yyyy-MM-dd HH:mm")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private String releaseTime; private String releaseTime;
/** /**

4
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.resi.group.dto.topic.result; package com.epmet.resi.group.dto.topic.result;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -36,8 +37,9 @@ public class ResiTopicInfoResultDTO implements Serializable{
private String releaseUserHeadPhoto; private String releaseUserHeadPhoto;
/** /**
* 发布时间 yyyy-MM-dd HH:mm:ss * 发布时间 yyyy-MM-dd HH:mm
* */ * */
@JSONField(format="yyyy-MM-dd HH:mm")
private String releaseTime; private String releaseTime;
/** /**

2
epmet-module/resi-group/resi-group-server/pom.xml

@ -112,7 +112,7 @@
<spring.datasource.druid.username>epmet</spring.datasource.druid.username> <spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password> <spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 --> <!-- redis配置 -->
<spring.redis.index>0</spring.redis.index> <spring.redis.index>1</spring.redis.index>
<spring.redis.host>10.10.10.77</spring.redis.host> <spring.redis.host>10.10.10.77</spring.redis.host>
<spring.redis.port>6379</spring.redis.port> <spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password> <spring.redis.password>123456</spring.redis.password>

8
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java

@ -463,10 +463,12 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
userParam.setCustomerId(group.getCustomerId()); userParam.setCustomerId(group.getCustomerId());
Result<UserResiInfoResultDTO> userInfo = epmetUserFeignClient.getUserResiInfoDTO(userParam); Result<UserResiInfoResultDTO> userInfo = epmetUserFeignClient.getUserResiInfoDTO(userParam);
if(userInfo.success()){ if(userInfo.success()){
resultDTO.setReleaseUserName(userInfo.getData().getSurname() + userInfo.getData().getName()); if(null != userInfo.getData()){
resultDTO.setReleaseUserName(userInfo.getData().getShowName());
resultDTO.setReleaseUserHeadPhoto(userInfo.getData().getHeadPhoto());
}
//TODO 调用EpmetUserFeign的查询用户微信信息的方法拉取头像信息
resultDTO.setReleaseUserHeadPhoto("");
} }

1
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java

@ -61,5 +61,4 @@ public class UserResiInfoResultDTO implements Serializable {
* 用户头像 * 用户头像
*/ */
private String headPhoto; private String headPhoto;
} }

26
epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml

@ -50,22 +50,25 @@
uri.STREET, uri.STREET,
uri.DISTRICT, uri.DISTRICT,
uri.RESI_VISIT_ID, uri.RESI_VISIT_ID,
CONCAT_WS('-',uri.STREET,uri.SURNAME,uri.`NAME`) as show_name, CONCAT(
( uri.STREET,
select uw.HEAD_IMG_URL from user_wechat uw '-',
where uw.DEL_FLAG='0' uri.SURNAME,
and uw.USER_ID=#{userId} ( CASE WHEN uw.SEX = '1' THEN '先生' WHEN uw.SEX = '2' THEN '女士' ELSE '先生/女士' END )
order by uw.CREATED_TIME ) AS show_name,
limit 1 uw.HEAD_IMG_URL AS head_photo
)as head_photo
FROM FROM
user_customer uc user_customer uc
LEFT JOIN user_resi_info uri ON ( uc.USER_ID = uri.USER_ID ) LEFT JOIN user_resi_info uri ON ( uc.USER_ID = uri.USER_ID )
LEFT JOIN user_wechat uw ON (uc.USER_ID = uw.USER_ID)
WHERE WHERE
uc.DEL_FLAG = '0' uc.DEL_FLAG = '0'
AND uri.DEL_FLAG = '0' AND uri.DEL_FLAG = '0'
AND uc.CUSTOMER_ID = #{customerId} AND uc.CUSTOMER_ID = #{customerId}
AND uc.USER_ID = #{userId} AND uc.USER_ID = #{userId}
AND uw.DEL_FLAG = '0'
AND uw.USER_ID = #{userId}
</select> </select>
<select id="selectResiInfoByMobile" parameterType="string" <select id="selectResiInfoByMobile" parameterType="string"
@ -88,7 +91,12 @@
uri.STREET, uri.STREET,
uri.DISTRICT, uri.DISTRICT,
uri.BUILDING_ADDRESS, uri.BUILDING_ADDRESS,
CONCAT_WS('-',uri.STREET,uri.SURNAME,uri.`NAME`) as show_name, CONCAT(
uri.STREET,
'-',
uri.SURNAME,
( CASE WHEN uw.SEX = '1' THEN '先生' WHEN uw.SEX = '2' THEN '女士' ELSE '先生/女士' END )
) AS show_name,
uw.HEAD_IMG_URL as head_photo uw.HEAD_IMG_URL as head_photo
FROM user_resi_info uri FROM user_resi_info uri
left join user_wechat uw on(uri.user_id=uw.USER_ID) left join user_wechat uw on(uri.user_id=uw.USER_ID)

Loading…
Cancel
Save