Commit 7f087363 authored by 李健华's avatar 李健华

获取用户头像、昵称增加租户

parent 2c15115c
...@@ -33,6 +33,7 @@ public interface Constants { ...@@ -33,6 +33,7 @@ public interface Constants {
Long VERIFICATION_CODE_FINITE_COUNT_NEW = 2L; Long VERIFICATION_CODE_FINITE_COUNT_NEW = 2L;
String X_AUTH_TOKEN = "x-auth-token"; String X_AUTH_TOKEN = "x-auth-token";
String X_AUTH_TENANT = "x-auth-tenant";
int VERIFICATION_LEN = 2; int VERIFICATION_LEN = 2;
int SMS_CODE_LEN_4 = 4; int SMS_CODE_LEN_4 = 4;
int SMS_CODE_LEN_6 = 6; int SMS_CODE_LEN_6 = 6;
......
...@@ -15,6 +15,7 @@ import java.util.Objects; ...@@ -15,6 +15,7 @@ import java.util.Objects;
import static cn.quantgroup.xyqb.session.XyqbSessionContextHolder.getXSession; import static cn.quantgroup.xyqb.session.XyqbSessionContextHolder.getXSession;
import static cn.quantgroup.xyqb.session.XyqbSessionContextHolder.getXSessionFromRedis; import static cn.quantgroup.xyqb.session.XyqbSessionContextHolder.getXSessionFromRedis;
import static cn.quantgroup.xyqb.session.XyqbSessionContextHolder.getXSessionFromTenantRedis;
/** /**
* Created by Miraculous on 15/7/5. * Created by Miraculous on 15/7/5.
...@@ -43,6 +44,14 @@ public interface IBaseController { ...@@ -43,6 +44,14 @@ public interface IBaseController {
return session.getValues().getUser(); return session.getValues().getUser();
} }
default String getCurrentTenantIdRedis() {
String tenantId = getXSessionFromTenantRedis();
if (tenantId == null) {
return null;
}
return tenantId;
}
default SessionStruct getCurrentSessionFromRedis() { default SessionStruct getCurrentSessionFromRedis() {
return getXSessionFromRedis(); return getXSessionFromRedis();
} }
......
...@@ -19,10 +19,7 @@ import cn.quantgroup.xyqb.service.merchant.IMerchantService; ...@@ -19,10 +19,7 @@ import cn.quantgroup.xyqb.service.merchant.IMerchantService;
import cn.quantgroup.xyqb.service.register.IUserRegisterService; import cn.quantgroup.xyqb.service.register.IUserRegisterService;
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.ILockIpv4Service; import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.service.user.UserCenterService;
import cn.quantgroup.xyqb.service.wechat.IWechatService; import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder; import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import cn.quantgroup.xyqb.util.IpUtil; import cn.quantgroup.xyqb.util.IpUtil;
...@@ -81,6 +78,9 @@ public class UserController implements IBaseController { ...@@ -81,6 +78,9 @@ public class UserController implements IBaseController {
@Autowired @Autowired
private IUserRegisterService userRegisterService; private IUserRegisterService userRegisterService;
@Autowired
private ITenantService tenantService;
/** /**
* 登录(账号 + 密码) * 登录(账号 + 密码)
...@@ -482,6 +482,10 @@ public class UserController implements IBaseController { ...@@ -482,6 +482,10 @@ public class UserController implements IBaseController {
brief.setSex(Optional.ofNullable(userDetail.getGender()).orElse(cn.quantgroup.xyqb.model.Gender.UNKNOWN).ordinal() + ""); brief.setSex(Optional.ofNullable(userDetail.getGender()).orElse(cn.quantgroup.xyqb.model.Gender.UNKNOWN).ordinal() + "");
brief.setPhoneNo(userDetail.getPhoneNo().substring(0, 3) + "****" + userDetail.getPhoneNo().substring(7, 11)); brief.setPhoneNo(userDetail.getPhoneNo().substring(0, 3) + "****" + userDetail.getPhoneNo().substring(7, 11));
} }
String tenantId = getCurrentTenantIdRedis();
if (tenantId != null) {
brief = tenantService.getTenantCustomerInfo(userDetail, tenantId);
}
return JsonResult.buildSuccessResult(null, brief); return JsonResult.buildSuccessResult(null, brief);
} }
......
...@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.entity; ...@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.entity;
import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity; import cn.quantgroup.xyqb.entity.baseEntity.PartitionEntity;
import cn.quantgroup.xyqb.model.Gender;
import cn.quantgroup.xyqb.util.StringUtils; import cn.quantgroup.xyqb.util.StringUtils;
import javax.persistence.Column; import javax.persistence.Column;
...@@ -67,7 +68,7 @@ public class CustomerInfoEntity extends PartitionEntity implements Serializable ...@@ -67,7 +68,7 @@ public class CustomerInfoEntity extends PartitionEntity implements Serializable
private Long provinceCode; private Long provinceCode;
@Column(name = "SEX", nullable = true) @Column(name = "SEX", nullable = true)
private Byte sex; private Gender sex;
@Column(name = "UNION_ID", nullable = true, length = 128) @Column(name = "UNION_ID", nullable = true, length = 128)
private String unionId; private String unionId;
...@@ -193,11 +194,11 @@ public class CustomerInfoEntity extends PartitionEntity implements Serializable ...@@ -193,11 +194,11 @@ public class CustomerInfoEntity extends PartitionEntity implements Serializable
this.provinceCode = provinceCode; this.provinceCode = provinceCode;
} }
public Byte getSex() { public Gender getSex() {
return sex; return sex;
} }
public void setSex(Byte sex) { public void setSex(Gender sex) {
this.sex = sex; this.sex = sex;
} }
......
...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.service.user; ...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.model.UserBrief;
/** /**
* Created by 11 on 2016/12/29. * Created by 11 on 2016/12/29.
...@@ -11,4 +12,6 @@ public interface ITenantService { ...@@ -11,4 +12,6 @@ public interface ITenantService {
User getTenantUser(User user, String tenantId); User getTenantUser(User user, String tenantId);
UserDetail getTenantUserDetail(UserDetail userDetail, String tenantId); UserDetail getTenantUserDetail(UserDetail userDetail, String tenantId);
UserBrief getTenantCustomerInfo(UserDetail userDetail, String tenantId);
} }
package cn.quantgroup.xyqb.service.user.impl; package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.xyqb.entity.*; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.service.user.*; import cn.quantgroup.xyqb.model.UserBrief;
import cn.quantgroup.xyqb.service.user.ICustomerInfoService;
import cn.quantgroup.xyqb.service.user.IOauthClientDetailsService;
import cn.quantgroup.xyqb.service.user.IProductLoginService;
import cn.quantgroup.xyqb.service.user.ITenantService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Optional;
/** /**
* Created by 11 on 2016/12/29. * Created by 11 on 2016/12/29.
*/ */
...@@ -65,4 +71,31 @@ public class TenantServiceImpl implements ITenantService { ...@@ -65,4 +71,31 @@ public class TenantServiceImpl implements ITenantService {
} }
return null; return null;
} }
@Override
public UserBrief getTenantCustomerInfo(UserDetail userDetail, String tenantId) {
OauthClientDetailsEntity oauthClientDetails = oauthClientDetailsService.findFirstByClientId(tenantId);
if (oauthClientDetails != null) {
ProductLoginEntity productLogin = productLoginService.findSlaveByPloginInfo(oauthClientDetails.getInstitutionId(), oauthClientDetails.getProductId(), userDetail.getUserId());
if (productLogin != null) {
if (!userDetail.getPhoneNo().equals(productLogin.getPhoneNo())) {
return null;
}
CustomerInfoEntity customerInfo = customerInfoService.findSlaveByCustomerId(productLogin.getCustomerId());
if (customerInfo == null) {
return null;
}
UserBrief tenantUserBrief = new UserBrief();
tenantUserBrief.setAvatar(customerInfo.getAvatarUrl());
tenantUserBrief.setNick(customerInfo.getNickName());
tenantUserBrief.setName(customerInfo.getName());
tenantUserBrief.setSex(Optional.ofNullable(customerInfo.getSex()).orElse(cn.quantgroup.xyqb.model.Gender.UNKNOWN).ordinal() + "");
tenantUserBrief.setPhoneNo(productLogin.getPhoneNo().substring(0, 3) + "****" + productLogin.getPhoneNo().substring(7, 11));
return tenantUserBrief;
}
}
return null;
}
} }
...@@ -44,6 +44,13 @@ public class XyqbSessionContextHolder { ...@@ -44,6 +44,13 @@ public class XyqbSessionContextHolder {
return getXSessionFromRedis(token); return getXSessionFromRedis(token);
} }
public static String getXSessionFromTenantRedis() {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String tenantId = request.getHeader(Constants.X_AUTH_TENANT);
log.info("getXSessionFromRedis token = 【{}】", tenantId);
return tenantId;
}
public static SessionStruct getXSessionFromRedis(String token) { public static SessionStruct getXSessionFromRedis(String token) {
if (StringUtils.length(token) != Constants.TOKEN_LENGTH || Objects.isNull(redisTemplate)) { if (StringUtils.length(token) != Constants.TOKEN_LENGTH || Objects.isNull(redisTemplate)) {
return null; 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