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

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

parent 69c10f30
...@@ -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.5-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -2,43 +2,16 @@ package cn.quantgroup.xyqb.controller.external.user; ...@@ -2,43 +2,16 @@ 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.constant.ApiAccessKey;
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.model.*;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.service.api.IUserApiService;
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.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;
...@@ -51,14 +24,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; ...@@ -51,14 +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.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.StringUtils;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -71,6 +36,10 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -71,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;
//import cn.quantgroup.xyqb.entity.enumerate.EducationEnum; //import cn.quantgroup.xyqb.entity.enumerate.EducationEnum;
//import cn.quantgroup.xyqb.entity.enumerate.IncomeEnum; //import cn.quantgroup.xyqb.entity.enumerate.IncomeEnum;
...@@ -87,7 +56,6 @@ import javax.servlet.http.HttpServletRequest; ...@@ -87,7 +56,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;
...@@ -107,6 +75,8 @@ public class InnerController implements IBaseController { ...@@ -107,6 +75,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;
...@@ -124,11 +94,6 @@ public class InnerController implements IBaseController { ...@@ -124,11 +94,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) {
...@@ -347,6 +312,42 @@ public class InnerController implements IBaseController { ...@@ -347,6 +312,42 @@ 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)) {
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") @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) {
......
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; 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();
}
} }
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