Commit d18fa48c authored by 技术部—现金贷—曾丽宾's avatar 技术部—现金贷—曾丽宾

Merge remote-tracking branch 'origin/master' into wechat-forward

parents 44f8aeee b3d357c3
...@@ -257,7 +257,7 @@ ...@@ -257,7 +257,7 @@
<dependency> <dependency>
<groupId>cn.quantgroup</groupId> <groupId>cn.quantgroup</groupId>
<artifactId>xyqb-user-rpc-commons</artifactId> <artifactId>xyqb-user-rpc-commons</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.1.2-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -4,16 +4,20 @@ import cn.quantgroup.xyqb.Constants; ...@@ -4,16 +4,20 @@ import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.entity.Merchant; import cn.quantgroup.xyqb.entity.Merchant;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserBtRegister;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.exception.NullUserException;
import cn.quantgroup.xyqb.model.*; import cn.quantgroup.xyqb.model.*;
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.IUserBtRegisterRepository;
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.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.ILkbUserService; import cn.quantgroup.xyqb.service.user.ILkbUserService;
import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.IPUtil; import cn.quantgroup.xyqb.util.IPUtil;
...@@ -59,7 +63,8 @@ public class AppController implements IBaseController { ...@@ -59,7 +63,8 @@ public class AppController implements IBaseController {
private IIdCardService idCardService; private IIdCardService idCardService;
@Autowired @Autowired
private IMerchantService merchantService; private IMerchantService merchantService;
@Autowired
private IUserBtRegisterService userBtRegisterService;
/** /**
* 第三方用户登录 * 第三方用户登录
*/ */
...@@ -68,7 +73,7 @@ public class AppController implements IBaseController { ...@@ -68,7 +73,7 @@ public class AppController implements IBaseController {
String phoneNo, String phoneNo,
@RequestParam(required = false, defaultValue = "1") Long registerFrom, @RequestParam(required = false, defaultValue = "1") Long registerFrom,
@RequestParam(required = false, defaultValue = "1") Long channelId, @RequestParam(required = false, defaultValue = "1") Long channelId,
String idNo, String name, String key, @RequestParam(required = false, defaultValue = "") String appChannel, HttpServletRequest request String idNo, String name, String key, @RequestParam(required = false, defaultValue = "") String appChannel,@RequestParam(required = false)Long btRegisterChannelId, HttpServletRequest request
) { ) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) { if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null); return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null);
...@@ -78,7 +83,7 @@ public class AppController implements IBaseController { ...@@ -78,7 +83,7 @@ public class AppController implements IBaseController {
LOGGER.info("第三方用户登录, loginFrom:{}, requestIp:{}", registerFrom, requestIp); LOGGER.info("第三方用户登录, loginFrom:{}, requestIp:{}", registerFrom, requestIp);
User user = userService.findByPhoneInDb(phoneNo); User user = userService.findByPhoneInDb(phoneNo);
if (user == null) { if (user == null) {
user = register(registerFrom, phoneNo, idNo, name, channelId); user = register(registerFrom, phoneNo, idNo, name, channelId,btRegisterChannelId);
} }
if (user == null) { if (user == null) {
return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null); return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null);
...@@ -103,6 +108,8 @@ public class AppController implements IBaseController { ...@@ -103,6 +108,8 @@ public class AppController implements IBaseController {
return new JsonResult(bean); return new JsonResult(bean);
} }
/** /**
* 第三方用户登录并返回用户信息 * 第三方用户登录并返回用户信息
*/ */
...@@ -111,7 +118,7 @@ public class AppController implements IBaseController { ...@@ -111,7 +118,7 @@ public class AppController implements IBaseController {
String phoneNo, String phoneNo,
@RequestParam(required = false, defaultValue = "1") Long registerFrom, @RequestParam(required = false, defaultValue = "1") Long registerFrom,
@RequestParam(required = false, defaultValue = "1") Long channelId, @RequestParam(required = false, defaultValue = "1") Long channelId,
String idNo, String name, String key, @RequestParam(required = false, defaultValue = "") String appChannel, HttpServletRequest request String idNo, String name, String key, @RequestParam(required = false, defaultValue = "") String appChannel, @RequestParam(required = false) Long btRegisterChannelId,HttpServletRequest request
) { ) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) { if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null); return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null);
...@@ -121,7 +128,7 @@ public class AppController implements IBaseController { ...@@ -121,7 +128,7 @@ public class AppController implements IBaseController {
LOGGER.info("第三方用户登录, loginFrom:{}, requestIp:{}", registerFrom, requestIp); LOGGER.info("第三方用户登录, loginFrom:{}, requestIp:{}", registerFrom, requestIp);
User user = userService.findByPhoneInDb(phoneNo); User user = userService.findByPhoneInDb(phoneNo);
if (user == null) { if (user == null) {
user = register(registerFrom, phoneNo, idNo, name, channelId); user = register(registerFrom, phoneNo, idNo, name, channelId,btRegisterChannelId);
} }
if (user == null) { if (user == null) {
return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null); return JsonResult.buildErrorStateResult(USER_ERROR_OR_PASSWORD_ERROR, null);
...@@ -153,6 +160,26 @@ public class AppController implements IBaseController { ...@@ -153,6 +160,26 @@ public class AppController implements IBaseController {
return JsonResult.buildSuccessResult("", loginInfo); return JsonResult.buildSuccessResult("", loginInfo);
} }
/**
* 注册新用户,带白条渠道号
* @param registerFrom
* @param phoneNo
* @param idNo
* @param name
* @param channelId
* @param btRegisterChannelId
* @return
*/
private User register(Long registerFrom, String phoneNo, String idNo, String name, Long channelId, Long btRegisterChannelId) {
User user = register(registerFrom, phoneNo, idNo, name, channelId);
if(null != user && null != btRegisterChannelId && channelId == 222L) {
UserBtRegister userBtRegister = new UserBtRegister();
userBtRegister.setUserId(user.getId());
userBtRegister.setRegisterBtMerchantId(btRegisterChannelId);
userBtRegisterService.save(userBtRegister);
}
return user;
}
/** /**
* 注册新用户 * 注册新用户
......
...@@ -2,13 +2,15 @@ package cn.quantgroup.xyqb.controller.external.user.center; ...@@ -2,13 +2,15 @@ package cn.quantgroup.xyqb.controller.external.user.center;
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.EducationEnum; //import cn.quantgroup.xyqb.entity.enumerate.EducationEnum;
import cn.quantgroup.xyqb.entity.enumerate.IncomeRangeEnum; //import cn.quantgroup.xyqb.entity.enumerate.IncomeRangeEnum;
import cn.quantgroup.xyqb.entity.enumerate.MaritalStatus; //import cn.quantgroup.xyqb.entity.enumerate.MaritalStatus;
import cn.quantgroup.xyqb.entity.enumerate.OccupationEnum; //import cn.quantgroup.xyqb.entity.enumerate.OccupationEnum;
import cn.quantgroup.user.enums.*;
import cn.quantgroup.xyqb.model.ContactRet; import cn.quantgroup.xyqb.model.ContactRet;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.user.*; import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.user.enums.*;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
......
...@@ -2,11 +2,13 @@ package cn.quantgroup.xyqb.controller.internal.login; ...@@ -2,11 +2,13 @@ package cn.quantgroup.xyqb.controller.internal.login;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserBtRegister;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.UserRet; 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.service.http.IHttpService; import cn.quantgroup.xyqb.service.http.IHttpService;
import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
...@@ -42,12 +44,15 @@ public class AuthInfoController implements IBaseController { ...@@ -42,12 +44,15 @@ public class AuthInfoController implements IBaseController {
@Autowired @Autowired
private IUserService userService; private IUserService userService;
@Autowired
private IUserBtRegisterService userBtRegisterService;
@RequestMapping("/info/login") @RequestMapping("/info/login")
public JsonResult loginInfo() { public JsonResult loginInfo() {
SessionStruct sessionStruct = getCurrentSessionFromRedis(); SessionStruct sessionStruct = getCurrentSessionFromRedis();
if(null != sessionStruct) { if(null != sessionStruct) {
log.info("从用户中心获取到了用户登录信息:phone:[{}]",sessionStruct.getValues().getUser().getPhoneNo()); log.info("从用户中心获取到了用户登录信息:phone:[{}]", sessionStruct.getValues().getUser().getPhoneNo());
LoginInfo loginInfo = new LoginInfo(); LoginInfo loginInfo = new LoginInfo();
loginInfo.setUser(UserRet.getUserRet(sessionStruct.getValues().getUser())); loginInfo.setUser(UserRet.getUserRet(sessionStruct.getValues().getUser()));
loginInfo.setToken(sessionStruct.getSid()); loginInfo.setToken(sessionStruct.getSid());
...@@ -55,6 +60,7 @@ public class AuthInfoController implements IBaseController { ...@@ -55,6 +60,7 @@ public class AuthInfoController implements IBaseController {
context.setChannelId(sessionStruct.getValues().getLoginProperties().getChannelId()); context.setChannelId(sessionStruct.getValues().getLoginProperties().getChannelId());
context.setCreatedFrom(sessionStruct.getValues().getLoginProperties().getCreatedFrom()); context.setCreatedFrom(sessionStruct.getValues().getLoginProperties().getCreatedFrom());
context.setAppChannel(sessionStruct.getValues().getLoginProperties().getAppChannel()); context.setAppChannel(sessionStruct.getValues().getLoginProperties().getAppChannel());
context.setBtMerchantId(sessionStruct.getValues().getLoginProperties().getBtMerchantId());
loginInfo.setLoginContext(context); loginInfo.setLoginContext(context);
return JsonResult.buildSuccessResult("", loginInfo); //有ThreadLocal不释放的问题,不可再使用原来方式了 return JsonResult.buildSuccessResult("", loginInfo); //有ThreadLocal不释放的问题,不可再使用原来方式了
}else { }else {
...@@ -82,6 +88,15 @@ public class AuthInfoController implements IBaseController { ...@@ -82,6 +88,15 @@ public class AuthInfoController implements IBaseController {
context.setChannelId(null); context.setChannelId(null);
context.setCreatedFrom(user.getRegisteredFrom()); context.setCreatedFrom(user.getRegisteredFrom());
context.setAppChannel(""); context.setAppChannel("");
if(user.getRegisteredFrom() == 222L) {
//context.setBtMerchantId(1L);
UserBtRegister userBtRegister = userBtRegisterService.findByUserId(user.getId());
if(null != userBtRegister){
context.setBtMerchantId(userBtRegister.getRegisterBtMerchantId());
}else {
context.setBtMerchantId(1L);
}
}
loginInfo.setLoginContext(context); loginInfo.setLoginContext(context);
return JsonResult.buildSuccessResult("", loginInfo); return JsonResult.buildSuccessResult("", loginInfo);
} }
......
...@@ -94,7 +94,7 @@ public class UserController implements IBaseController { ...@@ -94,7 +94,7 @@ public class UserController implements IBaseController {
@RequestMapping("/login/fast") @RequestMapping("/login/fast")
public JsonResult loginFast( public JsonResult loginFast(
@RequestParam(required = false, defaultValue = "1") Long channelId, String appChannel, @RequestParam(required = false, defaultValue = "1") Long channelId, String appChannel,
@RequestParam(required = false, defaultValue = "1") Long createdFrom, String key, HttpServletRequest request) { @RequestParam(required = false, defaultValue = "1") Long createdFrom, String key,@RequestParam(required = false)Long btRegisterChannelId ,HttpServletRequest request) {
Map<String, JsonResult> validMap = getHeaderParam(request); Map<String, JsonResult> validMap = getHeaderParam(request);
if (null != validMap.get("fail")) { if (null != validMap.get("fail")) {
return validMap.get("fail"); return validMap.get("fail");
...@@ -110,7 +110,7 @@ public class UserController implements IBaseController { ...@@ -110,7 +110,7 @@ public class UserController implements IBaseController {
return JsonResult.buildErrorStateResult("登录失败", null); return JsonResult.buildErrorStateResult("登录失败", null);
} }
if (user == null) { if (user == null) {
user = registerFastWhenLogin(phoneNo, channelId, createdFrom, appChannel); user = registerFastWhenLogin(phoneNo, channelId, createdFrom, appChannel,btRegisterChannelId);
if (user == null) { if (user == null) {
throw new UserNotExistException("用户未找到"); throw new UserNotExistException("用户未找到");
} }
...@@ -119,6 +119,21 @@ public class UserController implements IBaseController { ...@@ -119,6 +119,21 @@ public class UserController implements IBaseController {
// return createSession(channelId, createdFrom, appChannel, user); // return createSession(channelId, createdFrom, appChannel, user);
} }
private User registerFastWhenLogin(String phoneNo, Long channelId, Long registerFrom, String appChannel, Long btRegisterChannelId) {
String password = genRandomPwd();
LOGGER.info("用户快速注册, phoneNo:{}, verificationCode:{}, channelId:{}, registerFrom:{},appChannel:{},btRegisterChannelId", phoneNo, channelId, registerFrom, appChannel,btRegisterChannelId);
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
LOGGER.info("用户快速注册失败,手机号错误, registerFrom:{}, phoneNo:{}", registerFrom, phoneNo);
throw new UserNotExistException("手机号错误");
}
if (null == registerFrom) {
registerFrom = 1L;
}
LOGGER.info("用户快速注册成功, registerFrom:{}, phoneNo:{}", registerFrom, phoneNo);
return userService.registerAndReturn(phoneNo, password, registerFrom,btRegisterChannelId);
}
/** /**
* 快速登录验证 * 快速登录验证
* *
...@@ -171,7 +186,8 @@ public class UserController implements IBaseController { ...@@ -171,7 +186,8 @@ public class UserController implements IBaseController {
*/ */
@RequestMapping("/register/fast") @RequestMapping("/register/fast")
public JsonResult registerFast(@RequestParam String phoneNo, @RequestParam String verificationCode, @RequestParam(required = false) Long channelId, public JsonResult registerFast(@RequestParam String phoneNo, @RequestParam String verificationCode, @RequestParam(required = false) Long channelId,
@RequestParam(required = false) Long registerFrom, @RequestParam(required = false, defaultValue = "") String appChannel) { @RequestParam(required = false) Long registerFrom, @RequestParam(required = false, defaultValue = "") String appChannel,
@RequestParam(required = false)Long btRegisterChannelId) {
String password = genRandomPwd(); String password = genRandomPwd();
LOGGER.info("用户快速注册, phoneNo:{}, verificationCode:{}, channelId:{}, registerFrom:{},appChannel:{}", phoneNo, verificationCode, channelId, registerFrom, appChannel); LOGGER.info("用户快速注册, phoneNo:{}, verificationCode:{}, channelId:{}, registerFrom:{},appChannel:{}", phoneNo, verificationCode, channelId, registerFrom, appChannel);
if (!ValidationUtil.validatePhoneNo(phoneNo)) { if (!ValidationUtil.validatePhoneNo(phoneNo)) {
...@@ -197,7 +213,7 @@ public class UserController implements IBaseController { ...@@ -197,7 +213,7 @@ public class UserController implements IBaseController {
LOGGER.info("用户快速注册失败,短信验证码错误, registerFrom:{}, phoneNo:{}, verificationCode:{}", registerFrom, phoneNo, verificationCode); LOGGER.info("用户快速注册失败,短信验证码错误, registerFrom:{}, phoneNo:{}, verificationCode:{}", registerFrom, phoneNo, verificationCode);
return JsonResult.buildErrorStateResult("短信验证码错误", null); return JsonResult.buildErrorStateResult("短信验证码错误", null);
} }
if (!userService.register(phoneNo, password, registerFrom, getIp(), channelId)) { if (!userService.register(phoneNo, password, registerFrom, getIp(), channelId,btRegisterChannelId)) {
LOGGER.info("用户快速注册失败,请稍后重试, registerFrom:{}, phoneNo:{}", registerFrom, phoneNo); LOGGER.info("用户快速注册失败,请稍后重试, registerFrom:{}, phoneNo:{}", registerFrom, phoneNo);
return JsonResult.buildErrorStateResult("注册失败,请稍后重试", null); return JsonResult.buildErrorStateResult("注册失败,请稍后重试", null);
} }
...@@ -220,8 +236,9 @@ public class UserController implements IBaseController { ...@@ -220,8 +236,9 @@ public class UserController implements IBaseController {
@RequestMapping("/register") @RequestMapping("/register")
public JsonResult register(@RequestParam String phoneNo, @RequestParam String password, public JsonResult register(@RequestParam String phoneNo, @RequestParam String password,
@RequestParam String verificationCode, @RequestParam(required = false) Long channelId, @RequestParam String verificationCode, @RequestParam(required = false) Long channelId,
@RequestParam(required = false) Long registerFrom) { @RequestParam(required = false) Long registerFrom,
LOGGER.info("用户注册, phoneNo:{}, verificationCode:{}, channelId:{}, registerFrom:{}", phoneNo, verificationCode, channelId, registerFrom); @RequestParam(required = false)Long btRegisterChannelId) {
LOGGER.info("用户注册, phoneNo:{}, verificationCode:{}, channelId:{}, registerFrom:{},btRegisterChannelId:{}", phoneNo, verificationCode, channelId, registerFrom,btRegisterChannelId);
if (!ValidationUtil.validatePhoneNo(phoneNo)) { if (!ValidationUtil.validatePhoneNo(phoneNo)) {
LOGGER.info("用户注册失败,手机号错误, registerFrom:{}, phoneNo:{}", registerFrom, phoneNo); LOGGER.info("用户注册失败,手机号错误, registerFrom:{}, phoneNo:{}", registerFrom, phoneNo);
return JsonResult.buildErrorStateResult("手机号错误", null); return JsonResult.buildErrorStateResult("手机号错误", null);
...@@ -245,7 +262,7 @@ public class UserController implements IBaseController { ...@@ -245,7 +262,7 @@ public class UserController implements IBaseController {
LOGGER.info("用户注册失败,短信验证码错误, registerFrom:{}, phoneNo:{}, verificationCode:{}", registerFrom, phoneNo, verificationCode); LOGGER.info("用户注册失败,短信验证码错误, registerFrom:{}, phoneNo:{}, verificationCode:{}", registerFrom, phoneNo, verificationCode);
return JsonResult.buildErrorStateResult("短信验证码错误", null); return JsonResult.buildErrorStateResult("短信验证码错误", null);
} }
if (!userService.register(phoneNo, password, registerFrom, getIp(), channelId)) { if (!userService.register(phoneNo, password, registerFrom, getIp(), channelId,btRegisterChannelId)) {
LOGGER.info("用户快速注册失败,请稍后重试, registerFrom:{}, phoneNo:{}", registerFrom, phoneNo); LOGGER.info("用户快速注册失败,请稍后重试, registerFrom:{}, phoneNo:{}", registerFrom, phoneNo);
return JsonResult.buildErrorStateResult("注册失败,请稍后重试", null); return JsonResult.buildErrorStateResult("注册失败,请稍后重试", null);
} }
......
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;
import cn.quantgroup.xyqb.config.http.Timestamp2LongConverter;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
/**
* Created by Administrator on 2017/5/16.
*/
@Getter
@Setter
@ToString
@Entity
@Table(name = "user_bt_register")
public class UserBtRegister implements Serializable {
private static final long serialVersionUID = -1L;
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "user_id")
private Long userId;
@Column(name = "register_bt_merchant_id")
private Long registerBtMerchantId;
@Column(name = "is_active")
private Boolean isActive = Boolean.TRUE;
//创建时间
@Column(name = "created_at")
private Timestamp createdAt;
//上一次修改时间
@Column(name = "updated_at")
@JSONField(serializeUsing = Timestamp2LongConverter.class)
private Timestamp updatedAt;
@PrePersist
public void prePersist(){
Timestamp now = new Timestamp(System.currentTimeMillis());
this.createdAt =now;
this.updatedAt =now;
}
@PreUpdate
public void preUpdate(){
Timestamp now = new Timestamp(System.currentTimeMillis());
this.createdAt =now;
this.updatedAt =now;
}
}
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;
......
...@@ -11,4 +11,5 @@ public class LoginProperties { ...@@ -11,4 +11,5 @@ public class LoginProperties {
private Long createdFrom = 1L; private Long createdFrom = 1L;
private String appChannel = ""; private String appChannel = "";
private String merchantName; private String merchantName;
private Long btMerchantId =1L;
} }
...@@ -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,13 +23,21 @@ public class LoginInfo { ...@@ -23,13 +23,21 @@ 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 {
private Long channelId; private Long channelId;
private Long createdFrom; private Long createdFrom;
private String appChannel; private String appChannel;
private Long btMerchantId;
} }
} }
package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UserBtRegister;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* Created by Administrator on 2017/5/16.
*/
public interface IUserBtRegisterRepository extends JpaRepository<UserBtRegister, Long>,JpaSpecificationExecutor<UserBtRegister> {
}
package cn.quantgroup.xyqb.service.session.aspect;
import java.lang.annotation.*;
/**
* 用户的白条注册信息填充标记
* Created by ocean on 2017/5/16.
*/
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface UserBtRegisterFill {
}
package cn.quantgroup.xyqb.service.session.aspect;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserBtRegister;
import cn.quantgroup.xyqb.model.session.SessionValue;
import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* Created by Administrator on 2017/5/16.
*/
@Aspect
@Component
@Order(value = Ordered.HIGHEST_PRECEDENCE + 200)
public class UserBtRegisterFillAspect {
private static final Logger LOGGER = LoggerFactory.getLogger(UserBtRegisterFillAspect.class);
@Autowired
private IUserBtRegisterService userBtRegisterService;
@Pointcut("@annotation(cn.quantgroup.xyqb.service.session.aspect.UserBtRegisterFill)") //生成还款计划的时候,去生成趸交服务费
public void userBtRegisterFillCut() {
}
@Around("userBtRegisterFillCut()")
public Object handleSingleServiceFeeRule(ProceedingJoinPoint pjp) throws Throwable {
Object[] args = pjp.getArgs();
try {
args =fillUserBtRegister(args);
}catch (Exception e){
LOGGER.error("补充用户白条登录渠道信息失败",e);
}
return pjp.proceed(args);
}
private Object[] fillUserBtRegister(Object[] args) {
for (int i = 0;i<args.length;i++){
Object obj = args[i];
if (obj instanceof SessionValue){
SessionValue value =(SessionValue)obj;
UserBtRegister userBtRegister = userBtRegisterService.findByUserId(value.getUser().getId());
if(null != userBtRegister && null != value.getLoginProperties()){
value.getLoginProperties().setBtMerchantId(userBtRegister.getRegisterBtMerchantId());
}
}
}
return args;
}
}
...@@ -8,6 +8,7 @@ import cn.quantgroup.xyqb.model.LoginProperties; ...@@ -8,6 +8,7 @@ import cn.quantgroup.xyqb.model.LoginProperties;
import cn.quantgroup.xyqb.model.session.SessionStruct; import cn.quantgroup.xyqb.model.session.SessionStruct;
import cn.quantgroup.xyqb.model.session.SessionValue; import cn.quantgroup.xyqb.model.session.SessionValue;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.session.aspect.UserBtRegisterFill;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -121,6 +122,7 @@ public class SessionServiceImpl implements ISessionService { ...@@ -121,6 +122,7 @@ public class SessionServiceImpl implements ISessionService {
} }
@Override @Override
@UserBtRegisterFill
public void persistSession(String token, SessionValue sessionValue) { public void persistSession(String token, SessionValue sessionValue) {
Timestamp current = new Timestamp(System.currentTimeMillis()); Timestamp current = new Timestamp(System.currentTimeMillis());
sessionValue.setLastAccessTime(current); sessionValue.setLastAccessTime(current);
......
package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.xyqb.entity.UserBtRegister;
/**
* Created by Administrator on 2017/5/16.
*/
public interface IUserBtRegisterService {
UserBtRegister findByUserId(Long userId);
UserBtRegister save(UserBtRegister userBtRegister);
}
...@@ -32,5 +32,39 @@ public interface IUserService { ...@@ -32,5 +32,39 @@ public interface IUserService {
User findById(Long userId); User findById(Long userId);
boolean register(String phoneNo, String password, Long registerFrom, String ip, Long channelId, Long btRegisterChannelId);
List<User> findByPhones(List<String> phones); List<User> findByPhones(List<String> phones);
User registerAndReturn(String phoneNo, String password, Long registerFrom, Long btRegisterChannelId);
/**
* 用户、联系人、地址信息注册
* @param registeredFrom
* @param channelId
* @param phoneNo
* @param name
* @param idNo
* @param provinceCode
* @param province
* @param cityCode
* @param city
* @param districtCode
* @param district
* @param address
* @param contacts
* @return
*/
User registerAndReturn( Long registeredFrom,
Long channelId,
String phoneNo,
String name,
String idNo,
String provinceCode,
String province,
String cityCode,
String city,
String districtCode,
String district,
String address,
String contacts);
} }
package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.xyqb.entity.UserBtRegister;
import cn.quantgroup.xyqb.repository.IUserBtRegisterRepository;
import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import javax.persistence.criteria.Predicate;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2017/5/16.
*/
@Service
public class UserBtRegisterServiceImpl implements IUserBtRegisterService {
@Autowired
private IUserBtRegisterRepository userBtRegisterRepository;
@Override
@Cacheable(value = "btRegisterCache", key = "'userId' + #userId", unless = "#result == null", cacheManager = "cacheManager")
public UserBtRegister findByUserId(Long userId) {
if(null != userId) {
return userBtRegisterRepository.findOne((root, query, cb) -> {
List<Predicate> list = new ArrayList<>();
list.add(cb.equal(root.get("isActive").as(Boolean.class), Boolean.TRUE));
list.add(cb.equal(root.get("userId").as(Long.class), userId));
Predicate[] p = new Predicate[list.size()];
query.where(cb.and(list.toArray(p)));
return query.getRestriction();
});
}
return null;
}
@Override
public UserBtRegister save(UserBtRegister userBtRegister) {
return userBtRegisterRepository.saveAndFlush(userBtRegister);
}
}
package cn.quantgroup.xyqb.service.user.impl; package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.model.IdCardInfo;
import cn.quantgroup.xyqb.model.IdType;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.repository.IAddressRepository;
import cn.quantgroup.xyqb.repository.IContactRepository;
import cn.quantgroup.xyqb.repository.IUserBtRegisterRepository;
import cn.quantgroup.xyqb.repository.IUserRepository; import cn.quantgroup.xyqb.repository.IUserRepository;
import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.sms.ISmsService; import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.service.user.ILkbUserService; import cn.quantgroup.xyqb.service.user.ILkbUserService;
import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.PasswordUtil; import cn.quantgroup.xyqb.util.PasswordUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
...@@ -23,6 +36,7 @@ import javax.transaction.Transactional; ...@@ -23,6 +36,7 @@ import javax.transaction.Transactional;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
...@@ -44,6 +58,28 @@ public class UserServiceImpl implements IUserService { ...@@ -44,6 +58,28 @@ public class UserServiceImpl implements IUserService {
@Autowired @Autowired
private ISmsService smsService; private ISmsService smsService;
@Autowired
private IAddressRepository addressRepository;
@Autowired
private IUserBtRegisterService userBtRegisterService;
@Autowired
private IContactRepository contactRepository;
@Autowired
private IUserBtRegisterRepository userBtRegisterRepository;
@Autowired
private IIdCardService idCardService;
@Autowired
private IUserDetailService userDetailRepository;
private Long BAITIAO_CHANNEL = 222L;
private final static Random random = new Random();
@Override @Override
public User findByPhoneInDb(String phone) { public User findByPhoneInDb(String phone) {
return userRepository.findByPhoneNo(phone); return userRepository.findByPhoneNo(phone);
...@@ -98,6 +134,52 @@ public class UserServiceImpl implements IUserService { ...@@ -98,6 +134,52 @@ public class UserServiceImpl implements IUserService {
}); });
} }
@Override
public User registerAndReturn(String phoneNo, String password, Long registerFrom, Long btRegisterChannelId) {
User user = registerAndReturn(phoneNo, password, registerFrom);
if(null != user && null != btRegisterChannelId){
UserBtRegister userBtRegister = new UserBtRegister();
userBtRegister.setUserId(user.getId());
userBtRegister.setRegisterBtMerchantId(btRegisterChannelId);
userBtRegisterService.save(userBtRegister);
log.info("白条注册渠道信息保存完成,user:[{}],userBtRegister:[{}]",user,userBtRegister);
}
return user;
}
@Override
public boolean register(String phoneNo, String password, Long registerFrom, String ip, Long channelId, Long btRegisterChannelId) {
String uuid = lkbUserService.registerApp(phoneNo, password);
Timestamp currentTime = new Timestamp(System.currentTimeMillis());
User user = new User();
user.setEnable(true);
user.setPhoneNo(phoneNo);
user.setUpdatedAt(currentTime);
user.setCreatedAt(currentTime);
user.setUuid(uuid);
user.setPassword(PasswordUtil.MD5(password.toLowerCase() + Constants.PASSWORD_SALT));
//解决线上白条registerFrom为1的问题
if (channelId == 222L) {
user.setRegisteredFrom(channelId);
} else {
user.setRegisteredFrom(registerFrom);
}
//user.setRegisteredFrom(registerFrom);
user = userRepository.save(user);
if(null != user){
UserBtRegister userBtRegister = new UserBtRegister();
userBtRegister.setUserId(user.getId());
userBtRegister.setRegisterBtMerchantId(btRegisterChannelId);
userBtRegisterService.save(userBtRegister);
log.info("白条注册渠道信息保存完成");
}
smsService.sendAfterRegister(phoneNo);
return user != null;
}
@Override @Override
public User registerAndReturn(String phoneNo, String password, Long registerFrom) { public User registerAndReturn(String phoneNo, String password, Long registerFrom) {
...@@ -130,7 +212,7 @@ public class UserServiceImpl implements IUserService { ...@@ -130,7 +212,7 @@ public class UserServiceImpl implements IUserService {
} }
@Override @Override
@Transactional(value = Transactional.TxType.REQUIRED) @Transactional(value = Transactional.TxType.REQUIRED,rollbackOn = Exception.class)
public boolean register(String phoneNo, String password, Long registerFrom, String userIp, Long channelId) { public boolean register(String phoneNo, String password, Long registerFrom, String userIp, Long channelId) {
String uuid = lkbUserService.registerApp(phoneNo, password); String uuid = lkbUserService.registerApp(phoneNo, password);
Timestamp currentTime = new Timestamp(System.currentTimeMillis()); Timestamp currentTime = new Timestamp(System.currentTimeMillis());
...@@ -183,4 +265,110 @@ public class UserServiceImpl implements IUserService { ...@@ -183,4 +265,110 @@ public class UserServiceImpl implements IUserService {
return StringUtils.equals(PasswordUtil.MD5(password.toLowerCase() + Constants.PASSWORD_SALT), user.getPassword()); return StringUtils.equals(PasswordUtil.MD5(password.toLowerCase() + Constants.PASSWORD_SALT), user.getPassword());
} }
@Override
@Transactional(value = Transactional.TxType.REQUIRED,rollbackOn = Exception.class)
public User registerAndReturn(Long registeredFrom, Long channelId, String phoneNo, String name, String idNo, String provinceCode, String province, String cityCode, String city, String districtCode, String district, String address, String contacts) {
// 用户信息
User user = new User();
user.setPhoneNo(phoneNo);
Timestamp now = new Timestamp(System.currentTimeMillis());
user.setCreatedAt(now);
user.setUpdatedAt(now);
user.setEnable(true);
UserBtRegister userBtRegister = null;
// 白条渠道,需要设置`xyqb_user`.`user_bt_register`
if (BAITIAO_CHANNEL.equals(channelId)) {
user.setRegisteredFrom(channelId);
userBtRegister = new UserBtRegister();
} else {
user.setRegisteredFrom(registeredFrom);
}
String randomCode = String.valueOf(random.nextInt(899999) + 100000);
String uuid = lkbUserService.registerApp(phoneNo, randomCode);
user.setUuid(uuid);
user.setPassword(PasswordUtil.MD5(randomCode + Constants.PASSWORD_SALT));
user = userRepository.save(user);
Long userId = user.getId();
if (null != userBtRegister){
userBtRegister.setUserId(userId);
userBtRegister.setIsActive(true);
userBtRegister.setRegisterBtMerchantId(registeredFrom);
userBtRegister.setCreatedAt(now);
userBtRegister.setUpdatedAt(now);
userBtRegisterRepository.save(userBtRegister);
}
// 地址信息
Address addressObj = new Address();
addressObj.setUserId(userId);
addressObj.setProvinceCode(Long.valueOf(provinceCode));
addressObj.setProvince(province);
addressObj.setCityCode(Long.valueOf(cityCode));
addressObj.setCity(city);
addressObj.setDistrictCode(Long.valueOf(districtCode));
addressObj.setDistrict(district);
addressObj.setAddress(address);
addressObj.setCreatedAt(now);
addressObj.setUpdateAt(now);
addressRepository.save(addressObj);
try{
IdCardInfo idCardInfo = idCardService.getIdCardInfo(idNo);
UserDetail userDetail = new UserDetail();
userDetail.setPhoneNo(phoneNo);
userDetail.setIdNo(idNo);
userDetail.setUserId(userId);
userDetail.setName(name);
userDetail.setGender(idCardInfo.getGender());
userDetail.setIdType(IdType.ID_CARD);
userDetail.setCreatedAt(now);
userDetail.setUpdatedAt(now);
userDetailRepository.saveUserDetail(userDetail);
}catch (Exception e){
throw new RuntimeException("idCardService Exception");
}
// 联系人信息
if (org.apache.commons.lang3.StringUtils.isNotBlank(contacts)) {
List<Contact> contactList = JSONObject.parseObject(contacts, new TypeReference<List<Contact>>() { });
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(contactList)) {
convertContactList(userId, contactList, 2, now);
contactRepository.save(contactList);
}
}
return user;
}
/**
*
* @param userId
* @param contacts
* @param number 联系人最大数量
* @param now
*/
private void convertContactList(Long userId, List<Contact> contacts,int number, Timestamp now) {
int count = 1;
for (Contact c : contacts) {
if (count > number) {
break;
}
c.setId(null);
c.setUserId(userId);
c.setRelation(c.getRelation() == null ? Relation.OTHER : c.getRelation());
c.setCreatedAt(now);
c.setUpdateAt(now);
count++;
}
}
} }
...@@ -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;
......
...@@ -78,6 +78,30 @@ public class XyqbSessionContextHolder { ...@@ -78,6 +78,30 @@ public class XyqbSessionContextHolder {
} }
} }
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;
}
}
public static void releaseSession() { public static void releaseSession() {
threadSession.remove(); threadSession.remove();
} }
......
...@@ -2,6 +2,7 @@ config.accessable=false ...@@ -2,6 +2,7 @@ config.accessable=false
configserver.disable=1 configserver.disable=1
configserver.system=xyqb-user configserver.system=xyqb-user
#xyqb.data.mysql.jdbc-url=jdbc:mysql://192.168.4.22:3306/xyqb_user?useUnicode=true&characterEncoding=UTF8
xyqb.data.mysql.jdbc-url=jdbc:mysql://192.168.4.163:3306/xyqb_user?useUnicode=true&characterEncoding=UTF8 xyqb.data.mysql.jdbc-url=jdbc:mysql://192.168.4.163:3306/xyqb_user?useUnicode=true&characterEncoding=UTF8
xyqb.data.mysql.password=qatest xyqb.data.mysql.password=qatest
...@@ -16,7 +17,7 @@ xyqb.filter.allowedHeaders=Origin, No-Cache, x-auth-token, X-Requested-With, If- ...@@ -16,7 +17,7 @@ xyqb.filter.allowedHeaders=Origin, No-Cache, x-auth-token, X-Requested-With, If-
xyqb.data.redis.defaultExpiration=3600 xyqb.data.redis.defaultExpiration=3600
# redis # redis
xyqb.redis.master.host=192.168.4.163 xyqb.redis.master.host=192.168.4.22
xyqb.redis.master.port=6379 xyqb.redis.master.port=6379
xyqb.redis.master.name= xyqb.redis.master.name=
xyqb.redis.sentinel1.host= xyqb.redis.sentinel1.host=
...@@ -30,11 +31,12 @@ xyqb.redis.sentinel3.port=0 ...@@ -30,11 +31,12 @@ xyqb.redis.sentinel3.port=0
sms.is.debug=1 sms.is.debug=1
# LKB client # LKB client
lkb.client.url=http://192.168.192.163:8082/LKBClient/openapi lkb.client.url=http://192.168.4.193:8083/LKBClient/openapi
lkb.client.user.register.app=/new/register/registerApp.json lkb.client.user.register.app=/new/register/registerApp.json
lkb.client.user.register.58jr=/new/register/jr58/saveUserInfo.json lkb.client.user.register.58jr=/new/register/jr58/saveUserInfo.json
lkb.client.user.update=/new/register/updateUser.json lkb.client.user.update=/new/register/updateUser.json
# LKB import # LKB import
lkb.import.url=http://spider.quantgroup.cn lkb.import.url=http://spider.quantgroup.cn
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<maxHistory>30</maxHistory> <maxHistory>30</maxHistory>
</rollingPolicy> </rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout"> <layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{ISO8601} [%-5level] %logger{36} - %msg%n</pattern> <pattern>%d{ISO8601} [%thread] [%-5level] %logger{36} - %msg%n</pattern>
</layout> </layout>
</appender> </appender>
......
...@@ -36,8 +36,8 @@ public class DemoApplicationTests { ...@@ -36,8 +36,8 @@ public class DemoApplicationTests {
@Test @Test
public void registerFast() { public void registerFast() {
JsonResult jsonResult = userController.registerFast("18611428880", "000000", null, null, ""); // JsonResult jsonResult = userController.registerFast("18611428880", "000000", null, null, "");
Assert.assertEquals(jsonResult.getCode(), "0000"); // Assert.assertEquals(jsonResult.getCode(), "0000");
} }
@Test @Test
......
package user; package user;
import cn.quantgroup.xyqb.Bootstrap; import cn.quantgroup.xyqb.Bootstrap;
import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.controller.external.user.InnerController;
import cn.quantgroup.xyqb.controller.internal.user.UserController; import cn.quantgroup.xyqb.controller.internal.user.UserController;
import cn.quantgroup.xyqb.model.JsonResult;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -23,8 +27,28 @@ public class TestUserLogin { ...@@ -23,8 +27,28 @@ public class TestUserLogin {
@Autowired @Autowired
private UserController userController; private UserController userController;
@Autowired
private InnerController innerController;
@Test
public void testBull() {
String contacts = null;
boolean notBlank = StringUtils.isNotBlank(contacts);
System.out.println("-----------------------------result:"+notBlank);
}
@Test
public void testJson() {
JsonResult addressByUserId = innerController.findAddressByUserId(22L);
// JsonResult userByUserId = innerController.findUserByPhoneNo("17811111122");
System.out.println("-------------result:"+addressByUserId);
}
@Test @Test
public void testUserLogin() { public void testUserLogin() {
Long code = 1L;
String format = String.format(Constants.ZERO_FILL_TEMPLATE, code);
System.out.println("-----------format:"+format);
//访问xyqb-user拿到登录token //访问xyqb-user拿到登录token
/*Long channelId = 1L; /*Long channelId = 1L;
String appChannel = "3"; String appChannel = "3";
......
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