Commit f221d4d8 authored by Java-郭京峰's avatar Java-郭京峰

Merge branch 'motan_rpc' into baitiao_channel

# Conflicts:
#	src/main/java/cn/quantgroup/xyqb/controller/external/motan/MotanUserServiceImpl.java
parents d5805b1b 95606e4a
...@@ -7,38 +7,35 @@ import cn.quantgroup.motan.vo.UserSysResult; ...@@ -7,38 +7,35 @@ import cn.quantgroup.motan.vo.UserSysResult;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.entity.*; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.enumerate.*; import cn.quantgroup.xyqb.entity.enumerate.*;
import cn.quantgroup.xyqb.model.*; import cn.quantgroup.xyqb.model.IdCardInfo;
import cn.quantgroup.xyqb.model.IdType;
import cn.quantgroup.xyqb.model.LoginProperties;
import cn.quantgroup.xyqb.model.UserRet;
import cn.quantgroup.xyqb.model.session.LoginInfo; import cn.quantgroup.xyqb.model.session.LoginInfo;
import cn.quantgroup.xyqb.model.session.SessionStruct; import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.repository.IUserRepository; import cn.quantgroup.xyqb.repository.IUserRepository;
import cn.quantgroup.xyqb.service.auth.IIdCardService; import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.http.IHttpService;
import cn.quantgroup.xyqb.service.merchant.IMerchantService; import cn.quantgroup.xyqb.service.merchant.IMerchantService;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.sms.ISmsService; import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.service.user.*; import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.xyqb.service.user.vo.UserDetailVO; import cn.quantgroup.xyqb.service.user.vo.UserDetailVO;
import cn.quantgroup.xyqb.service.wechat.IWechatService; import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import cn.quantgroup.xyqb.util.PasswordUtil; import cn.quantgroup.xyqb.util.PasswordUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableMap;
import com.weibo.api.motan.config.springsupport.annotation.MotanService; import com.weibo.api.motan.config.springsupport.annotation.MotanService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.text.ParseException; import java.text.ParseException;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Random; import java.util.Random;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -85,9 +82,15 @@ public class MotanUserServiceImpl implements UserMotanService { ...@@ -85,9 +82,15 @@ public class MotanUserServiceImpl implements UserMotanService {
private IWechatService wechatService; private IWechatService wechatService;
@Autowired @Autowired
private IUserSpouseService userSpouseService; private IUserSpouseService userSpouseService;
@Value("${xyqb.auth.url}")
private String xyqbAuthUrl;
@Autowired @Autowired
private IHttpService httpService; private IHttpService httpService;
@Autowired
private IUserApiService userApiService;
@Override @Override
public UserSysResult<XUser> findUserByPhoneNo(String phoneNo) { public UserSysResult<XUser> findUserByPhoneNo(String phoneNo) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) { if (!ValidationUtil.validatePhoneNo(phoneNo)) {
...@@ -266,7 +269,7 @@ public class MotanUserServiceImpl implements UserMotanService { ...@@ -266,7 +269,7 @@ public class MotanUserServiceImpl implements UserMotanService {
log.info("第三方用户登录, loginFrom:{}, requestIp:{}", appLoginParam.getRegisterFrom(), requestIp); log.info("第三方用户登录, loginFrom:{}, requestIp:{}", appLoginParam.getRegisterFrom(), requestIp);
User user = userService.findByPhoneInDb(appLoginParam.getPhoneNo()); User user = userService.findByPhoneInDb(appLoginParam.getPhoneNo());
if (user == null) { if (user == null) {
user = register(appLoginParam.getRegisterFrom(), appLoginParam.getPhoneNo(), appLoginParam.getIdNo(), appLoginParam.getName()); user = register(appLoginParam.getRegisterFrom(), appLoginParam.getPhoneNo(), appLoginParam.getIdNo(), appLoginParam.getName(),appLoginParam.getChannelId());
} }
if (user == null) { if (user == null) {
return returnErrorValue("账户或者密码错误"); return returnErrorValue("账户或者密码错误");
...@@ -459,7 +462,21 @@ public class MotanUserServiceImpl implements UserMotanService { ...@@ -459,7 +462,21 @@ public class MotanUserServiceImpl implements UserMotanService {
@Override @Override
public UserSysResult<Boolean> disableUser(Long userId) { public UserSysResult<Boolean> disableUser(Long userId) {
return null; if (null == userId || 0L == userId) {
throw new RuntimeException("userId不能为空");
}
User user = userService.findById(userId);
if (null == user) {
throw new RuntimeException("未查询到该用户,用户id:"+userId);
}
user.setEnable(false);
user.setUpdatedAt(new Timestamp(System.currentTimeMillis()));
log.info("注销用户的信息,userId={}", userId);
user = userService.saveUser(user);
if (!user.getEnable()) {
sessionService.deleteByUserId(userId);
}
return returnSuccessValue(Boolean.TRUE);
} }
@Override @Override
...@@ -503,13 +520,24 @@ public class MotanUserServiceImpl implements UserMotanService { ...@@ -503,13 +520,24 @@ public class MotanUserServiceImpl implements UserMotanService {
xUserSpouse.setSpouseName(userSpouse.getSpouseName()); xUserSpouse.setSpouseName(userSpouse.getSpouseName());
xUserSpouse.setCreatedAt(userSpouse.getCreatedAt()); xUserSpouse.setCreatedAt(userSpouse.getCreatedAt());
xUserSpouse.setUpdateAt(userSpouse.getUpdateAt()); xUserSpouse.setUpdateAt(userSpouse.getUpdateAt());
xUserSpouse.setStatus(cn.quantgroup.motan.enums.MaritalStatus.valueOf(userSpouse.getStatus().name())); xUserSpouse.setStatus(cn.quantgroup.user.enums.MaritalStatus.valueOf(userSpouse.getStatus().name()));
return xUserSpouse; return xUserSpouse;
} }
@Override @Override
public UserSysResult<XUserExtInfo> findUserExtInfoByUserId(Long userId) { public UserSysResult<XUserExtInfo> findUserExtInfoByUserId(Long userId) {
return null; if (userId == null) {
return returnErrorValue("userId不能为空");
}
UserExtInfo userExtInfo = userExtInfoService.findByUserId(userId);
if (userExtInfo == null) {
return returnErrorValue("未找到用户扩展信息");
}
return returnSuccessValue(fromUserExtInfo(userExtInfo));
}
private XUserExtInfo fromUserExtInfo(UserExtInfo userExtInfo) {
return null==userExtInfo?null:userExtInfo.toXUserExtInfo();
} }
@Override @Override
...@@ -524,12 +552,22 @@ public class MotanUserServiceImpl implements UserMotanService { ...@@ -524,12 +552,22 @@ public class MotanUserServiceImpl implements UserMotanService {
@Override @Override
public UserSysResult<String> loginWithUuid(String uuid) { public UserSysResult<String> loginWithUuid(String uuid) {
return null; return returnErrorValue("MotanUserServiceImpl loginWithUuid(String uuid) need to be finish.");
} }
@Override @Override
public UserSysResult<Boolean> userImportCheck(String phoneNo, String registerFrom) { public UserSysResult<Boolean> userImportCheck(String phoneNo, String registerFrom) {
return null; if ("244".equals(registerFrom)) {
return returnErrorValue("用户导入检查拒绝");
}
if (org.apache.commons.lang3.StringUtils.isEmpty(phoneNo) || org.apache.commons.lang3.StringUtils.isEmpty(registerFrom)) {
return returnErrorValue("检查传入的参数,参数不全。");
}
boolean checkPassed = userApiService.userImportCheck(phoneNo);
if (checkPassed) {
return returnValue(Boolean.TRUE, "success");
}
return returnErrorValue("用户导入检查拒绝");
} }
@Override @Override
...@@ -537,10 +575,10 @@ public class MotanUserServiceImpl implements UserMotanService { ...@@ -537,10 +575,10 @@ public class MotanUserServiceImpl implements UserMotanService {
if (xUserSpouse.getUserId() == null || xUserSpouse.getUserId() == 0) { if (xUserSpouse.getUserId() == null || xUserSpouse.getUserId() == 0) {
return returnErrorValue("用户不能为空"); return returnErrorValue("用户不能为空");
} }
cn.quantgroup.motan.enums.MaritalStatus status = xUserSpouse.getStatus(); cn.quantgroup.user.enums.MaritalStatus status = xUserSpouse.getStatus();
String spousePhone = xUserSpouse.getSpousePhone(); String spousePhone = xUserSpouse.getSpousePhone();
String spouseName = xUserSpouse.getSpouseName(); String spouseName = xUserSpouse.getSpouseName();
if (xUserSpouse.getStatus() == cn.quantgroup.motan.enums.MaritalStatus.MARRIED) { if (xUserSpouse.getStatus() == cn.quantgroup.user.enums.MaritalStatus.MARRIED) {
if (!ValidationUtil.validatePhoneNo(spousePhone)) { if (!ValidationUtil.validatePhoneNo(spousePhone)) {
return returnErrorValue("手机号格式错误"); return returnErrorValue("手机号格式错误");
} }
...@@ -554,18 +592,93 @@ public class MotanUserServiceImpl implements UserMotanService { ...@@ -554,18 +592,93 @@ public class MotanUserServiceImpl implements UserMotanService {
userSpouse = new UserSpouse(xUserSpouse.getUserId()); userSpouse = new UserSpouse(xUserSpouse.getUserId());
userSpouse.setCreatedAt(timestamp); userSpouse.setCreatedAt(timestamp);
} }
userSpouse.setSpouseName(status == cn.quantgroup.motan.enums.MaritalStatus.MARRIED ? spouseName : ""); userSpouse.setSpouseName(status == cn.quantgroup.user.enums.MaritalStatus.MARRIED ? spouseName : "");
userSpouse.setSpousePhone(status == cn.quantgroup.motan.enums.MaritalStatus.MARRIED ? spousePhone : ""); userSpouse.setSpousePhone(status == cn.quantgroup.user.enums.MaritalStatus.MARRIED ? spousePhone : "");
userSpouse.setStatus(MaritalStatus.valueOf(status.name())); userSpouse.setStatus(cn.quantgroup.user.enums.MaritalStatus.valueOf(status.name()));
userSpouse.setUpdateAt(timestamp); userSpouse.setUpdateAt(timestamp);
userSpouse = userSpouseService.save(userSpouse); userSpouse = userSpouseService.save(userSpouse);
return returnSuccessValue(fromUserSpouse(userSpouse)); return returnSuccessValue(fromUserSpouse(userSpouse));
} }
@Override @Override
public UserSysResult<AppLoginResultBean> appLogin(AppLoginParam param) { public UserSysResult<AppLoginResultBean> appLogin(AppLoginParam appLoginParam) {
return null; if (!ValidationUtil.validatePhoneNo(appLoginParam.getPhoneNo())) {
throw new RuntimeException(USER_ERROR_OR_PASSWORD_ERROR);
}
log.info("第三方用户登录, appLoginParam:{} ", appLoginParam);
User user = userService.findByPhoneInDb(appLoginParam.getPhoneNo());
if (user == null) {
user = register(appLoginParam.getRegisterFrom(), appLoginParam.getPhoneNo(), appLoginParam.getIdNo(), appLoginParam.getName(), appLoginParam.getChannelId());
}
if (user == null) {
throw new RuntimeException(USER_ERROR_OR_PASSWORD_ERROR);
}
if (!user.getEnable()) {
throw new RuntimeException("登录失败");
}
Merchant merchant = merchantService.findMerchantByName(appLoginParam.getKey());
if (merchant == null) {
throw new RuntimeException("无效的商户");
}
LoginProperties loginProperties = new LoginProperties();
loginProperties.setChannelId(appLoginParam.getChannelId());
loginProperties.setMerchantName(merchant.getName());
loginProperties.setCreatedFrom(appLoginParam.getRegisterFrom());
loginProperties.setAppChannel(appLoginParam.getAppChannel());
SessionStruct sessionStruct = sessionService.createSessionAndPersist(user, loginProperties);
AppLoginResultBean appLoginResultBean = new AppLoginResultBean();
appLoginResultBean.setToken(sessionStruct.getSid());
appLoginResultBean.setPhoneNo(appLoginParam.getPhoneNo());
log.info("第三方用户登录成功, loginFrom:{}, phoneNo:{},appChannel:{}", appLoginParam.getRegisterFrom(), appLoginParam.getPhoneNo(), appLoginParam.getAppChannel());
return returnSuccessValue(appLoginResultBean);
}
@Override
public UserSysResult<XLoginInfo> getLoginInfo(String token) {
SessionStruct sessionStruct = XyqbSessionContextHolder.getXSessionFromRedis(token);
if(null != sessionStruct) {
log.info("从用户中心获取到了用户登录信息:phone:[{}]", sessionStruct.getValues().getUser().getPhoneNo());
XLoginInfo loginInfo = new XLoginInfo();
loginInfo.setUser(sessionStruct.getValues().getUser().toXUser());
loginInfo.setToken(sessionStruct.getSid());
LoginContext context = new LoginContext();
context.setChannelId(sessionStruct.getValues().getLoginProperties().getChannelId());
context.setCreatedFrom(sessionStruct.getValues().getLoginProperties().getCreatedFrom());
context.setAppChannel(sessionStruct.getValues().getLoginProperties().getAppChannel());
loginInfo.setLoginContext(context);
return returnSuccessValue(loginInfo);
}else {
// 函谷关去查token 返回值高仿
log.info("去向函谷关查询用户信息");
if(StringUtils.isBlank(token) ||token.length() != 36){
return returnErrorValue("用户未登录");
} }
String checkUrl = xyqbAuthUrl+"/innerapi/is_login";
ImmutableMap<String, String> headMap = ImmutableMap.of("x-auth-token", token);
String response = httpService.get(checkUrl, headMap, null);
log.info("去向函谷关查询用户信息,response:[{}]",response);
JsonResult result = JSONObject.parseObject(response, JsonResult.class);
if (result == null || !"0000".equals(result.getCode()) || !"0000".equals(result.getBusinessCode())) {
return returnErrorValue("用户未登录");
}
String phoneNo = ((Map<String, String>) result.getData()).get("phoneNo");
User user = userService.findByPhoneWithCache(phoneNo);
XLoginInfo loginInfo = new XLoginInfo();
loginInfo.setUser(sessionStruct.getValues().getUser().toXUser());
loginInfo.setToken(token);
LoginContext context = new LoginContext();
context.setChannelId(null);
context.setCreatedFrom(user.getRegisteredFrom());
context.setAppChannel("");
loginInfo.setLoginContext(context);
return returnSuccessValue(loginInfo);
}
}
@Override @Override
public UserSysResult<XLoginInfo> getLoginInfo(String token) { public UserSysResult<XLoginInfo> getLoginInfo(String token) {
...@@ -647,7 +760,7 @@ public class MotanUserServiceImpl implements UserMotanService { ...@@ -647,7 +760,7 @@ public class MotanUserServiceImpl implements UserMotanService {
* *
* @return * @return
*/ */
private User register(Long registerFrom, String phoneNo, String idNo, String name) { private User register(Long registerFrom, String phoneNo, String idNo, String name,Long channelId) {
String randomCode = String.valueOf(random.nextInt(899999) + 100000); String randomCode = String.valueOf(random.nextInt(899999) + 100000);
...@@ -657,6 +770,11 @@ public class MotanUserServiceImpl implements UserMotanService { ...@@ -657,6 +770,11 @@ public class MotanUserServiceImpl implements UserMotanService {
log.info("第三方登录用户,保存 User"); log.info("第三方登录用户,保存 User");
User user = new User(); User user = new User();
if (channelId == 222L) {
user.setRegisteredFrom(channelId);
} else {
user.setRegisteredFrom(registerFrom);
}
user.setRegisteredFrom(registerFrom); user.setRegisteredFrom(registerFrom);
user.setUuid(uuid); user.setUuid(uuid);
user.setEnable(true); user.setEnable(true);
...@@ -698,4 +816,20 @@ public class MotanUserServiceImpl implements UserMotanService { ...@@ -698,4 +816,20 @@ public class MotanUserServiceImpl implements UserMotanService {
return user; return user;
} }
@Override
public UserSysResult<XUserDetail> modifyUserDetail(UserDetailUpdateBean userDetailUpdateBean) {
return returnErrorValue("MotanUserServiceImpl modifyUserDetail(UserDetailUpdateBean userDetailUpdateBean) need to be finish.");
}
@Override
public UserSysResult<Map<Long, String>> findPhoneByUserIds(List<Long> userIds) {
if(!CollectionUtils.isEmpty(userIds) && userIds.size()<=500) {
Map<Long, String> userIdAndPhoneMap = userService.findPhoneByIdsInDb(userIds);
return returnSuccessValue(userIdAndPhoneMap);
}else {
return returnErrorValue("批量查询每次最多进行500条用户信息的查询");
}
}
} }
...@@ -3,8 +3,9 @@ package cn.quantgroup.xyqb.controller.external.user; ...@@ -3,8 +3,9 @@ package cn.quantgroup.xyqb.controller.external.user;
import cn.quantgroup.xyqb.aspect.logcaller.LogHttpCaller; import cn.quantgroup.xyqb.aspect.logcaller.LogHttpCaller;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.entity.*; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.enumerate.*; import cn.quantgroup.user.enums.*;
import cn.quantgroup.xyqb.model.*; import cn.quantgroup.xyqb.model.*;
import cn.quantgroup.xyqb.model.IdType;
import cn.quantgroup.xyqb.service.auth.IIdCardService; import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.user.*; import cn.quantgroup.xyqb.service.user.*;
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.enumerate.Relation; import cn.quantgroup.user.enums.Relation;
import lombok.Data; import lombok.Data;
import javax.persistence.*; import javax.persistence.*;
......
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.enumerate.*; import cn.quantgroup.motan.retbean.XUserExtInfo;
//import cn.quantgroup.xyqb.entity.enumerate.*;
import cn.quantgroup.user.enums.*;
import lombok.Data; import lombok.Data;
import javax.persistence.*; import javax.persistence.*;
...@@ -45,4 +47,20 @@ public class UserExtInfo implements Serializable { ...@@ -45,4 +47,20 @@ public class UserExtInfo implements Serializable {
@Column(name = "updated_at") @Column(name = "updated_at")
private Timestamp updateAt; private Timestamp updateAt;
public XUserExtInfo toXUserExtInfo(){
XUserExtInfo xUserExtInfo = new XUserExtInfo();
xUserExtInfo.setId(this.id);
xUserExtInfo.setUserId(this.userId);
xUserExtInfo.setEducationEnum(cn.quantgroup.user.enums.EducationEnum.valueOf(this.educationEnum.name()));
xUserExtInfo.setIncomeEnum(cn.quantgroup.user.enums.IncomeEnum.valueOf(this.incomeEnum.name()));
xUserExtInfo.setIncomeRangeEnum(cn.quantgroup.user.enums.IncomeRangeEnum.valueOf(this.incomeRangeEnum.name()));
xUserExtInfo.setOccupationEnum(cn.quantgroup.user.enums.OccupationEnum.valueOf(this.occupationEnum.name()));
xUserExtInfo.setHasCar(this.hasCar);
xUserExtInfo.setHasSocialSecurity(this.hasSocialSecurity);
xUserExtInfo.setHasCreditCard(this.hasCreditCard);
xUserExtInfo.setMarryStatus(cn.quantgroup.user.enums.MaritalStatus.valueOf(this.marryStatus.name()));
xUserExtInfo.setCreatedAt(this.createdAt);
xUserExtInfo.setUpdateAt(this.updateAt);
return xUserExtInfo;
}
} }
package cn.quantgroup.xyqb.entity; package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.enumerate.MaritalStatus; import cn.quantgroup.user.enums.MaritalStatus;
import lombok.*; import lombok.*;
import javax.persistence.*; import javax.persistence.*;
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.Contact; import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.enumerate.Relation; import cn.quantgroup.user.enums.Relation;
import lombok.Data; import lombok.Data;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
......
...@@ -3,7 +3,7 @@ package cn.quantgroup.xyqb.model; ...@@ -3,7 +3,7 @@ package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import lombok.Data; import lombok.Data;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import cn.quantgroup.xyqb.model.IdType;
import java.io.Serializable; import java.io.Serializable;
/** /**
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
import cn.quantgroup.xyqb.entity.enumerate.*; import cn.quantgroup.user.enums.*;
import lombok.Data; import lombok.Data;
/** /**
......
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.UserSpouse; import cn.quantgroup.xyqb.entity.UserSpouse;
import cn.quantgroup.xyqb.entity.enumerate.MaritalStatus; import cn.quantgroup.user.enums.MaritalStatus;
import lombok.Data; import lombok.Data;
/** /**
......
...@@ -23,6 +23,14 @@ public class LoginInfo { ...@@ -23,6 +23,14 @@ public class LoginInfo {
return JSON.parseObject(userJson, XLoginInfo.class); return JSON.parseObject(userJson, XLoginInfo.class);
} }
public XLoginInfo toXLoginInfo() {
XLoginInfo xLoginInfo= new XLoginInfo();
// xLoginInfo.setUser();
return xLoginInfo;
}
@Data @Data
public static class LoginContext { public static class LoginContext {
......
...@@ -82,6 +82,8 @@ public class UserDetailVO { ...@@ -82,6 +82,8 @@ public class UserDetailVO {
if (this.getUpdatedAt() != null) { if (this.getUpdatedAt() != null) {
xUserDetail.setUpdatedAt(new Timestamp(this.getUpdatedAt())); xUserDetail.setUpdatedAt(new Timestamp(this.getUpdatedAt()));
} }
xUserDetail.setIsAuthenticated(this.getIsAuthenticated()); xUserDetail.setIsAuthenticated(this.getIsAuthenticated());
xUserDetail.setEnable(this.getEnable()); xUserDetail.setEnable(this.getEnable());
return xUserDetail; return xUserDetail;
......
...@@ -105,4 +105,28 @@ public class XyqbSessionContextHolder { ...@@ -105,4 +105,28 @@ public class XyqbSessionContextHolder {
public static void releaseSession() { public static void releaseSession() {
threadSession.remove(); threadSession.remove();
} }
public static SessionStruct getXSessionFromRedis(String token) {
if (token == null || token.length() != 36) {
return null;
}
String result = redisTemplate.opsForValue().get(Constants.Session.USER_SESSION_CACHE + token);
if (StringUtils.isEmpty(result)) {
return null;
}
try {
SessionValue values = JSON.parseObject(result, SessionValue.class);
if (values == null) {
return null;
}
SessionStruct sessionStruct = new SessionStruct();
sessionStruct.setSid(token);
sessionStruct.setValues(values);
return sessionStruct;
}catch (Exception ex){
LOGGER.error("序列化session出错", ex);
return null;
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment