Commit 589459d1 authored by 董建华's avatar 董建华

新增接口

parent 6c88b341
...@@ -198,6 +198,25 @@ public class InnerController implements IBaseController { ...@@ -198,6 +198,25 @@ public class InnerController implements IBaseController {
UserRet userRet = new UserRet(user); UserRet userRet = new UserRet(user);
return JsonResult.buildSuccessResult("", userRet); return JsonResult.buildSuccessResult("", userRet);
} }
//与旧的区别就是新的如果返回多个的时候只取最新的
@GetMapping("/user/search/hash2")
@ApiOperation(httpMethod = "GET", value = "根据md5(手机号)或md5(身份证号)查询用户信息")
public JsonResult findByHash(@RequestParam String md5Value,
@RequestParam(defaultValue = "1") Integer type) {
if (md5Value == null) {
return JsonResult.buildErrorStateResult("参数错误", null);
}
if (md5Value.length() != Constants.MD5_LENGTH) {
return JsonResult.buildErrorStateResult("参数长度有误", null);
}
User user = userService.findByMd5New(type, md5Value);
if (user == null) {
return JsonResult.buildSuccessResult("", null);
}
UserRet userRet = new UserRet(user);
return JsonResult.buildSuccessResult("", userRet);
}
@RequestMapping("/userInfo/search/uuid") @RequestMapping("/userInfo/search/uuid")
@ApiOperation(httpMethod = "POST", value = "根据UUID查询用户详细信息") @ApiOperation(httpMethod = "POST", value = "根据UUID查询用户详细信息")
......
...@@ -3,12 +3,16 @@ package cn.quantgroup.xyqb.repository; ...@@ -3,12 +3,16 @@ package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.UserHashMapping; import cn.quantgroup.xyqb.entity.UserHashMapping;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface IUserHashMappingRepository extends JpaRepository<UserHashMapping, Long> { public interface IUserHashMappingRepository extends JpaRepository<UserHashMapping, Long> {
UserHashMapping findByPhoneNoMd5ShortAndPhoneNoMd5(Long phoneNoMd5Short, String phoneNoMd5); UserHashMapping findByPhoneNoMd5ShortAndPhoneNoMd5(Long phoneNoMd5Short, String phoneNoMd5);
UserHashMapping findByIdNoMd5ShortAndIdNoMd5(Long idNoMd5Short, String idNoMd5); UserHashMapping findByIdNoMd5ShortAndIdNoMd5(Long idNoMd5Short, String idNoMd5);
List<UserHashMapping> findByIdNoMd5AndIdNoMd5Short(String idNoMd5, Long idNoMd5Short);
UserHashMapping findByUserId(Long userId); UserHashMapping findByUserId(Long userId);
} }
...@@ -57,6 +57,8 @@ public interface IUserService { ...@@ -57,6 +57,8 @@ public interface IUserService {
User findByMd5(Integer type, String md5Value); User findByMd5(Integer type, String md5Value);
User findByMd5New(Integer type, String md5Value);
/** /**
* 修改手机号码. * 修改手机号码.
* *
......
...@@ -50,11 +50,7 @@ import org.springframework.util.CollectionUtils; ...@@ -50,11 +50,7 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Collections; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -255,6 +251,34 @@ public class UserServiceImpl implements IUserService, IBaseController { ...@@ -255,6 +251,34 @@ public class UserServiceImpl implements IUserService, IBaseController {
return userRepository.findById(userId); return userRepository.findById(userId);
} }
@Override
public User findByMd5New(Integer type, String md5Value) {
md5Value = md5Value.toLowerCase();
long value = HashUtil.crc32(md5Value);
UserHashMapping userHashMapping = null;
if (FindByMd5Enum.PHONENO.getType() == type) {
userHashMapping = userHashMappingRepository.findByPhoneNoMd5ShortAndPhoneNoMd5(value, md5Value);
} else if (FindByMd5Enum.IDNO.getType() == type) {
List<UserHashMapping> userHashMappings = userHashMappingRepository.findByIdNoMd5AndIdNoMd5Short(md5Value, value);
if(!CollectionUtils.isEmpty(userHashMappings)){
//如果多个只返回最新的
userHashMapping = userHashMappings.stream().max(Comparator.comparing(UserHashMapping::getId)).get();
}
} else {
userHashMapping = null;
UserHashPhoneNoIdNoMapping userHashPhoneNoIdNoMapping = userHashPhoneNoIdNoMappingRepository.findFirstByPhoneNoIdNoMd5(md5Value);
if (userHashPhoneNoIdNoMapping != null) {
userHashMapping = new UserHashMapping();
userHashMapping.setUserId(userHashPhoneNoIdNoMapping.getUserId());
}
}
if (userHashMapping == null) {
return null;
}
Long userId = userHashMapping.getUserId();
return userRepository.findById(userId);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public User modifyPhoneNo(String oldPhoneNo, String newPhoneNo) { public User modifyPhoneNo(String oldPhoneNo, String newPhoneNo) {
......
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