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
*/
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.LoggerFactory;
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.stereotype.Service;
import org.springframework.web.bind.support.WebDataBinderFactory;
@ -32,11 +35,15 @@ import org.springframework.web.method.support.ModelAndViewContainer;
* @author Mark sunlightcs@gmail.com
*/
@Service
@PropertySource("classpath:bootstrap.yml")
@ConfigurationProperties(prefix = "redis")
public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private CpUserDetailRedis cpUserDetailRedis;
@Value("${database}")
private String redisDb;
public LoginUserHandlerMethodArgumentResolver(){
@ -69,8 +76,14 @@ public class LoginUserHandlerMethodArgumentResolver implements HandlerMethodArgu
String app=keyArray[0];
String client=keyArray[1];
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("CURRENT-REDIS-DATABASE---------!!!!!!:"+redisDb);
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.epmet.common.token.enums.ErrorCode;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
@ -30,6 +31,7 @@ import reactor.core.publisher.Mono;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
/**
* app接口权限过滤器
@ -94,7 +96,12 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
if (user != null) {
String redisKey = user.getApp() + "-" + user.getClient() + "-" + user.getUserId();
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());
}
}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;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
@ -43,6 +45,7 @@ public class ResiCommentResultDTO implements Serializable {
/**
* 评论时间 yyyy-MM-dd HH:mm:ss
* */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
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;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
@ -32,8 +34,10 @@ public class ResiTopicDetailResultDTO implements Serializable {
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;
/**

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;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.io.Serializable;
@ -36,8 +37,9 @@ public class ResiTopicInfoResultDTO implements Serializable{
private String releaseUserHeadPhoto;
/**
* 发布时间 yyyy-MM-dd HH:mm:ss
* 发布时间 yyyy-MM-dd HH:mm
* */
@JSONField(format="yyyy-MM-dd HH:mm")
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.password>elink@833066</spring.datasource.druid.password>
<!-- 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.port>6379</spring.redis.port>
<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());
Result<UserResiInfoResultDTO> userInfo = epmetUserFeignClient.getUserResiInfoDTO(userParam);
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;
}

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

@ -50,22 +50,25 @@
uri.STREET,
uri.DISTRICT,
uri.RESI_VISIT_ID,
CONCAT_WS('-',uri.STREET,uri.SURNAME,uri.`NAME`) as show_name,
(
select uw.HEAD_IMG_URL from user_wechat uw
where uw.DEL_FLAG='0'
and uw.USER_ID=#{userId}
order by uw.CREATED_TIME
limit 1
)as head_photo
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
FROM
user_customer uc
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
uc.DEL_FLAG = '0'
AND uri.DEL_FLAG = '0'
AND uc.CUSTOMER_ID = #{customerId}
AND uc.USER_ID = #{userId}
AND uw.DEL_FLAG = '0'
AND uw.USER_ID = #{userId}
</select>
<select id="selectResiInfoByMobile" parameterType="string"
@ -88,7 +91,12 @@
uri.STREET,
uri.DISTRICT,
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
FROM user_resi_info uri
left join user_wechat uw on(uri.user_id=uw.USER_ID)

Loading…
Cancel
Save