Commit 9db176fe authored by Java—KA—李 青's avatar Java—KA—李 青

增加查询用户完整信息接口

parent 69c10f30
......@@ -273,7 +273,7 @@
<dependency>
<groupId>cn.quantgroup</groupId>
<artifactId>xyqb-user-rpc-commons</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.1.5-SNAPSHOT</version>
</dependency>
<dependency>
......
......@@ -2,43 +2,16 @@ package cn.quantgroup.xyqb.controller.external.user;
import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.aspect.logcaller.LogHttpCaller;
import cn.quantgroup.xyqb.constant.ApiAccessKey;
import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
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.exception.UserNotExistException;
import cn.quantgroup.xyqb.model.AddressRet;
import cn.quantgroup.xyqb.model.ContactRet;
import cn.quantgroup.xyqb.model.IdType;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.UserAssociation;
import cn.quantgroup.xyqb.model.UserDetailRet;
import cn.quantgroup.xyqb.model.UserExtInfoRet;
import cn.quantgroup.xyqb.model.UserInfo;
import cn.quantgroup.xyqb.model.UserRegisterMqMessage;
import cn.quantgroup.xyqb.model.UserRet;
import cn.quantgroup.xyqb.model.UserSpouseRet;
import cn.quantgroup.xyqb.model.UserStatistics;
import cn.quantgroup.xyqb.model.XContactInfo;
import cn.quantgroup.xyqb.entity.*;
import cn.quantgroup.xyqb.entity.enumerate.*;
import cn.quantgroup.xyqb.model.*;
import cn.quantgroup.xyqb.service.api.IUserApiService;
import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.http.IHttpService;
import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.user.IAddressService;
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.user.*;
import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.util.IPUtil;
import cn.quantgroup.xyqb.util.MqUtils;
......@@ -51,14 +24,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableMap;
import java.sql.Timestamp;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.LoggerFactory;
......@@ -71,6 +36,10 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.sql.Timestamp;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
//import cn.quantgroup.xyqb.entity.enumerate.EducationEnum;
//import cn.quantgroup.xyqb.entity.enumerate.IncomeEnum;
......@@ -87,7 +56,6 @@ import javax.servlet.http.HttpServletRequest;
public class InnerController implements IBaseController {
private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(InnerController.class);
private final static Random random = new Random();
@Autowired
private IUserService userService;
......@@ -107,6 +75,8 @@ public class InnerController implements IBaseController {
private IUserSpouseService userSpouseService;
@Autowired
private ISessionService sessionService;
@Autowired
private IUserApiService userApiService;
@Autowired
private IHttpService httpService;
......@@ -124,11 +94,6 @@ public class InnerController implements IBaseController {
MAPPER.configure(SerializationFeature.WRITE_ENUMS_USING_INDEX, true);
}
@Autowired
private ILkbUserService lkbUserService;
private Long BAITIAO_CHANNEL = 222L;
@RequestMapping("/user/search/phoneNo")
@LogHttpCaller
public JsonResult findByPhoneNo(String phoneNo) {
......@@ -347,6 +312,42 @@ public class InnerController implements IBaseController {
return JsonResult.buildErrorStateResult("", null);
}
/**
* 根据phone查找用户完整信息
* @param phoneNo
* @return
*/
@RequestMapping("/user_full_info/search/phone")
@LogHttpCaller
public JsonResult findUserFullInfoByPhone(String phoneNo) {
if (StringUtils.isBlank(phoneNo)) {
return JsonResult.buildErrorStateResult(null, null);
}
Optional<UserFullInfo> userFullInfoOptional = userApiService.getUserFullInfoByPhone(phoneNo);
if (!userFullInfoOptional.isPresent()) {
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)) {
return JsonResult.buildErrorStateResult(null, null);
}
Optional<UserFullInfo> userFullInfoOptional = userApiService.getUserFullInfoByUuid(uuid);
if (!userFullInfoOptional.isPresent()) {
return JsonResult.buildErrorStateResult(null, null);
}
return JsonResult.buildSuccessResult(null, userFullInfoOptional.get());
}
@RequestMapping("/user_detail/update/qq")
public JsonResult updateUserQQ(String qq, Long userId) {
if (StringUtils.isEmpty(qq) || userId == null || userId == 0L) {
......
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;
public UserFullInfo() {
}
public UserFullInfo(User user, UserDetail userDetail) {
assert user != null;
this.id = user.getId();
this.phoneNo = user.getPhoneNo();
this.registerFrom = user.getRegisteredFrom();
this.password = user.getPassword();
this.uuid = user.getUuid();
if (userDetail != null) {
this.name = userDetail.getName();
this.idNo = userDetail.getIdNo();
this.gender = userDetail.getGender().getName();
}
}
}
package cn.quantgroup.xyqb.service.api;
import cn.quantgroup.xyqb.model.UserFullInfo;
import java.util.Optional;
/**
* Created by FrankChow on 15/12/16.
*/
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;
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.service.api.IUserApiService;
import cn.quantgroup.xyqb.service.model.IModelService;
import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Optional;
/**
* Created by FrankChow on 15/12/16.
*/
@Service
public class UserApiServiceImpl implements IUserApiService {
@Autowired
private IModelService modelService;
@Autowired
private IModelService modelService;
@Autowired
private IUserService userService;
@Autowired
private IUserDetailService userDetailService;
@Autowired
private IUserService userService;
@Override
public boolean userImportCheck(String phoneNo) {
User user = userService.findByPhoneWithCache(phoneNo);
if (user != null) {
return false;
}
@Override
public boolean userImportCheck(String phoneNo) {
User user = userService.findByPhoneWithCache(phoneNo);
BlacklistMatchResult blacklistMatchResult = modelService.getBlacklistMatchResult(phoneNo);
if (blacklistMatchResult == null) {
return true;
}
return !blacklistMatchResult.getFlag();
}
if (user != null) {
return false;
@Override
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);
if (blacklistMatchResult == null) {
return true;
@Override
public Optional<UserFullInfo> getUserFullInfoByPhone(String phoneNo) {
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();
}
}
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