Commit e872b35b authored by 技术部-任文超's avatar 技术部-任文超

Merge branch 'master' into feature/20171030

parents fe69e13d 2d785812
...@@ -273,7 +273,7 @@ ...@@ -273,7 +273,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.1.3-SNAPSHOT</version> <version>1.1.6-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -68,7 +68,7 @@ public class ExceptionHandlingController implements IBaseController { ...@@ -68,7 +68,7 @@ public class ExceptionHandlingController implements IBaseController {
HttpServletRequest request = getRequest(); HttpServletRequest request = getRequest();
String uri = request.getRequestURI(); String uri = request.getRequestURI();
String registerFrom = request.getParameter("registerFrom"); String registerFrom = request.getParameter("registerFrom");
LOGGER.error("接口异常 URI:{}, registerFrom:{}", uri, registerFrom, e); LOGGER.error("[exception][global_exception]接口异常 URI:{}, registerFrom:{},error={}", uri, registerFrom, e);
return EXCEPTION_RESULT; return EXCEPTION_RESULT;
} }
} }
...@@ -282,7 +282,7 @@ public class AppController implements IBaseController { ...@@ -282,7 +282,7 @@ public class AppController implements IBaseController {
LOGGER.error("保存 UserDetail 出现异常", e); LOGGER.error("保存 UserDetail 出现异常", e);
} }
} }
MqUtils.sendRegisterMessage(channelId,user); MqUtils.sendRegisterMessage(channelId,null,user);
return user; return user;
} }
......
...@@ -3,33 +3,19 @@ package cn.quantgroup.xyqb.controller.external.user; ...@@ -3,33 +3,19 @@ package cn.quantgroup.xyqb.controller.external.user;
import cn.quantgroup.user.enums.Relation; import cn.quantgroup.user.enums.Relation;
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.Address; import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.Contact; import cn.quantgroup.xyqb.entity.enumerate.*;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserExtInfo;
import cn.quantgroup.xyqb.entity.UserSpouse;
import cn.quantgroup.xyqb.entity.WechatUserInfo;
import cn.quantgroup.xyqb.entity.enumerate.EducationEnum;
import cn.quantgroup.xyqb.entity.enumerate.IncomeEnum;
import cn.quantgroup.xyqb.entity.enumerate.IncomeRangeEnum;
import cn.quantgroup.xyqb.entity.enumerate.MaritalStatus;
import cn.quantgroup.xyqb.entity.enumerate.OccupationEnum;
import cn.quantgroup.xyqb.model.*; import cn.quantgroup.xyqb.model.*;
import cn.quantgroup.xyqb.service.api.IUserApiService;
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.http.IHttpService;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.user.IAddressService; import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.xyqb.service.user.IContactService;
import cn.quantgroup.xyqb.service.user.ILkbUserService;
import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.service.user.IUserSpouseService;
import cn.quantgroup.xyqb.service.wechat.IWechatService; import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.util.IPUtil; import cn.quantgroup.xyqb.util.IPUtil;
import cn.quantgroup.xyqb.util.MqUtils; import cn.quantgroup.xyqb.util.MqUtils;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.util.encrypt.MD5Util;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
...@@ -38,10 +24,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; ...@@ -38,10 +24,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializationFeature;
import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
import java.sql.Timestamp;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -54,6 +36,10 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -54,6 +36,10 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.sql.Timestamp;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* Created by Miraculous on 2016/12/19. * Created by Miraculous on 2016/12/19.
...@@ -63,7 +49,6 @@ import javax.servlet.http.HttpServletRequest; ...@@ -63,7 +49,6 @@ import javax.servlet.http.HttpServletRequest;
public class InnerController implements IBaseController { public class InnerController implements IBaseController {
private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(InnerController.class); private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(InnerController.class);
private final static Random random = new Random();
@Autowired @Autowired
private IUserService userService; private IUserService userService;
...@@ -83,6 +68,8 @@ public class InnerController implements IBaseController { ...@@ -83,6 +68,8 @@ public class InnerController implements IBaseController {
private IUserSpouseService userSpouseService; private IUserSpouseService userSpouseService;
@Autowired @Autowired
private ISessionService sessionService; private ISessionService sessionService;
@Autowired
private IUserApiService userApiService;
@Autowired @Autowired
private IHttpService httpService; private IHttpService httpService;
...@@ -100,11 +87,6 @@ public class InnerController implements IBaseController { ...@@ -100,11 +87,6 @@ public class InnerController implements IBaseController {
MAPPER.configure(SerializationFeature.WRITE_ENUMS_USING_INDEX, true); MAPPER.configure(SerializationFeature.WRITE_ENUMS_USING_INDEX, true);
} }
@Autowired
private ILkbUserService lkbUserService;
private Long BAITIAO_CHANNEL = 222L;
@RequestMapping("/user/search/phoneNo") @RequestMapping("/user/search/phoneNo")
@LogHttpCaller @LogHttpCaller
public JsonResult findByPhoneNo(String phoneNo) { public JsonResult findByPhoneNo(String phoneNo) {
...@@ -228,7 +210,7 @@ public class InnerController implements IBaseController { ...@@ -228,7 +210,7 @@ public class InnerController implements IBaseController {
user = userService.saveUser(user); user = userService.saveUser(user);
UserRet userRet = null; UserRet userRet = null;
if (user != null) { if (user != null) {
userRet = MqUtils.sendRegisterMessage(registeredFrom, user); userRet = MqUtils.sendRegisterMessage(registeredFrom, null,user);
} }
return JsonResult.buildSuccessResult(null, userRet); return JsonResult.buildSuccessResult(null, userRet);
} }
...@@ -324,6 +306,46 @@ public class InnerController implements IBaseController { ...@@ -324,6 +306,46 @@ public class InnerController implements IBaseController {
return JsonResult.buildErrorStateResult("", null); return JsonResult.buildErrorStateResult("", null);
} }
/**
* 根据phone查找用户完整信息
* @param phoneNo
* @return
*/
@RequestMapping("/user_full_info/search/phone")
@LogHttpCaller
public JsonResult findUserFullInfoByPhone(String phoneNo) {
if (StringUtils.isBlank(phoneNo)) {
LOGGER.warn("[findUserFullInfoByPhone]phoneNo为空");
return JsonResult.buildErrorStateResult(null, null);
}
Optional<UserFullInfo> userFullInfoOptional = userApiService.getUserFullInfoByPhone(phoneNo);
if (!userFullInfoOptional.isPresent()) {
LOGGER.warn("[findUserFullInfoByPhone]没有用户信息,phoneNo={}", MD5Util.build(phoneNo));
return JsonResult.buildErrorStateResult(null, null);
}
return JsonResult.buildSuccessResult(null, userFullInfoOptional.get());
}
/**
* 根据uuid查找用户完整信息
* @param uuid
* @return
*/
@RequestMapping("/user_full_info/search/uuid")
@LogHttpCaller
public JsonResult findUserFullInfoByUUuid(String uuid) {
if (StringUtils.isBlank(uuid)) {
LOGGER.warn("[findUserFullInfoByUUuid]uuid为空");
return JsonResult.buildErrorStateResult(null, null);
}
Optional<UserFullInfo> userFullInfoOptional = userApiService.getUserFullInfoByUuid(uuid);
if (!userFullInfoOptional.isPresent()) {
LOGGER.warn("[findUserFullInfoByUUuid]没有用户信息,uuid={}", uuid);
return JsonResult.buildErrorStateResult(null, null);
}
return JsonResult.buildSuccessResult(null, userFullInfoOptional.get());
}
@RequestMapping("/user_detail/update/qq") @RequestMapping("/user_detail/update/qq")
public JsonResult updateUserQQ(String qq, Long userId) { public JsonResult updateUserQQ(String qq, Long userId) {
if (StringUtils.isEmpty(qq) || userId == null || userId == 0L) { if (StringUtils.isEmpty(qq) || userId == null || userId == 0L) {
......
...@@ -229,7 +229,7 @@ public class UserController implements IBaseController { ...@@ -229,7 +229,7 @@ public class UserController implements IBaseController {
} }
User user=userService.registerAndReturn(phoneNo, password, registerFrom,btRegisterChannelId); User user=userService.registerAndReturn(phoneNo, password, registerFrom,btRegisterChannelId);
LOGGER.info("用户快速注册成功, registerFrom:{}, phoneNo:{}", registerFrom, phoneNo); LOGGER.info("用户快速注册成功, registerFrom:{}, phoneNo:{}", registerFrom, phoneNo);
MqUtils.sendRegisterMessage(channelId, user); MqUtils.sendRegisterMessage(channelId,dimension, user);
return user; return user;
} }
......
package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail;
import lombok.Data;
import java.io.Serializable;
/**
* user完整数据模型,包括user,user_detail
*/
@Data
public class UserFullInfo implements Serializable {
private static final long serialVersionUID = -1L;
private Long id;
private String name;
private String phoneNo;
private String idNo;
private String gender;
private String password;
private Long registerFrom;
private String uuid;
private Boolean enable;
public UserFullInfo() {
}
public UserFullInfo(User user, UserDetail userDetail) {
if (user != null){
this.id = user.getId();
this.phoneNo = user.getPhoneNo();
this.registerFrom = user.getRegisteredFrom();
this.password = user.getPassword();
this.uuid = user.getUuid();
this.enable = user.getEnable();
}
if (userDetail != null) {
this.name = userDetail.getName();
this.idNo = userDetail.getIdNo();
this.gender = userDetail.getGender().getName();
}
}
}
...@@ -41,7 +41,7 @@ public class UserRet implements Serializable { ...@@ -41,7 +41,7 @@ public class UserRet implements Serializable {
this.setId(user.getId()); this.setId(user.getId());
this.setPhoneNo(user.getPhoneNo()); this.setPhoneNo(user.getPhoneNo());
this.setEnable(user.getEnable()); this.setEnable(user.getEnable());
this.setPassword(StringUtils.defaultIfEmpty(user.getPassword(), "")); this.setPassword("");
this.setRegisteredFrom(user.getRegisteredFrom()); this.setRegisteredFrom(user.getRegisteredFrom());
this.setUuid(user.getUuid()); this.setUuid(user.getUuid());
this.setCreatedAt(createTimeStamp); this.setCreatedAt(createTimeStamp);
......
package cn.quantgroup.xyqb.service.api; package cn.quantgroup.xyqb.service.api;
import cn.quantgroup.xyqb.model.UserFullInfo;
import java.util.Optional;
/** /**
* Created by FrankChow on 15/12/16. * Created by FrankChow on 15/12/16.
*/ */
public interface IUserApiService { public interface IUserApiService {
boolean userImportCheck(String phoneNo); boolean userImportCheck(String phoneNo);
/**
* 根据uuid查询用户完整信息
* @param uuid
* @return
*/
Optional<UserFullInfo> getUserFullInfoByUuid(String uuid);
/**
* 根据phone查询完整信息
* @param phoneNo
* @return
*/
Optional<UserFullInfo> getUserFullInfoByPhone(String phoneNo);
} }
package cn.quantgroup.xyqb.service.api.impl; package cn.quantgroup.xyqb.service.api.impl;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.UserFullInfo;
import cn.quantgroup.xyqb.model.model.BlacklistMatchResult; import cn.quantgroup.xyqb.model.model.BlacklistMatchResult;
import cn.quantgroup.xyqb.service.api.IUserApiService; import cn.quantgroup.xyqb.service.api.IUserApiService;
import cn.quantgroup.xyqb.service.model.IModelService; import cn.quantgroup.xyqb.service.model.IModelService;
import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
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 FrankChow on 15/12/16. * Created by FrankChow on 15/12/16.
*/ */
@Service @Service
public class UserApiServiceImpl implements IUserApiService { public class UserApiServiceImpl implements IUserApiService {
@Autowired @Autowired
private IModelService modelService; private IModelService modelService;
@Autowired
private IUserService userService;
@Autowired
private IUserDetailService userDetailService;
@Autowired @Override
private IUserService userService; public boolean userImportCheck(String phoneNo) {
User user = userService.findByPhoneWithCache(phoneNo);
if (user != null) {
return false;
}
@Override BlacklistMatchResult blacklistMatchResult = modelService.getBlacklistMatchResult(phoneNo);
public boolean userImportCheck(String phoneNo) { if (blacklistMatchResult == null) {
User user = userService.findByPhoneWithCache(phoneNo); return true;
}
return !blacklistMatchResult.getFlag();
}
if (user != null) { @Override
return false; public Optional<UserFullInfo> getUserFullInfoByUuid(String uuid) {
User user = userService.findByUuidWithCache(uuid);
if (null == user) {
return Optional.empty();
}
UserDetail detail = userDetailService.findByUserId(user.getId());
UserFullInfo userFullInfo = new UserFullInfo(user, detail);
return Optional.of(userFullInfo);
} }
BlacklistMatchResult blacklistMatchResult = modelService.getBlacklistMatchResult(phoneNo); @Override
if (blacklistMatchResult == null) { public Optional<UserFullInfo> getUserFullInfoByPhone(String phoneNo) {
return true; User user = userService.findByPhoneInDb(phoneNo);
if (null == user) {
return Optional.empty();
}
UserDetail detail = userDetailService.findByUserId(user.getId());
UserFullInfo userFullInfo = new UserFullInfo(user, detail);
return Optional.of(userFullInfo);
} }
return !blacklistMatchResult.getFlag();
}
} }
...@@ -192,7 +192,7 @@ public class UserServiceImpl implements IUserService { ...@@ -192,7 +192,7 @@ public class UserServiceImpl implements IUserService {
smsService.sendAfterRegister(phoneNo); smsService.sendAfterRegister(phoneNo);
} }
if(registerSuccess){ if(registerSuccess){
MqUtils.sendRegisterMessage(channelId, user); MqUtils.sendRegisterMessage(channelId,dimension, user);
} }
return user != null; return user != null;
} }
......
...@@ -40,9 +40,9 @@ public class MqUtils { ...@@ -40,9 +40,9 @@ public class MqUtils {
} }
} }
public static UserRet sendRegisterMessage(Long registeredFrom, User user) { public static UserRet sendRegisterMessage(Long registeredFrom,String demension, User user) {
UserRet userRet; UserRet userRet;
UserStatistics statistics=new UserStatistics(user,null,2,registeredFrom); UserStatistics statistics=new UserStatistics(user,demension,2,registeredFrom);
MqUtils.sendLoanVest(statistics); MqUtils.sendLoanVest(statistics);
userRet = new UserRet(user); userRet = new UserRet(user);
//增加用户注册广播 //增加用户注册广播
......
...@@ -11,7 +11,7 @@ import java.util.regex.Pattern; ...@@ -11,7 +11,7 @@ import java.util.regex.Pattern;
*/ */
public class ValidationUtil { public class ValidationUtil {
private static String regExp = "^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))\\d{8}$"; private static String regExp = "^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9])|(19[0-9]))\\d{8}$";
private static String chineseExp = "^[\u4e00-\u9fa5]+(\\.|·)?[\u4e00-\u9fa5]+$"; private static String chineseExp = "^[\u4e00-\u9fa5]+(\\.|·)?[\u4e00-\u9fa5]+$";
private static Pattern phonePattern = Pattern.compile(regExp); private static Pattern phonePattern = Pattern.compile(regExp);
......
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