Commit ad1a937f authored by 李健华's avatar 李健华

下线相关接口

parent 1a5f0ea3
package cn.quantgroup.xyqb.aspect.forbidden;
import cn.quantgroup.xyqb.exception.AccessForbiddenException;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Aspect
@Component
@Slf4j
public class AccessForbiddenAspect {
@Pointcut("@annotation(cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator)")
public void pointCutAt() {
}
@Before("pointCutAt()")
private void before() throws Throwable {
throw new AccessForbiddenException("禁止访问,接口已下线");
}
}
package cn.quantgroup.xyqb.aspect.forbidden;
public @interface AccessForbiddenValidator {
}
...@@ -197,4 +197,9 @@ public class ExceptionHandlingController implements IBaseController { ...@@ -197,4 +197,9 @@ public class ExceptionHandlingController implements IBaseController {
public JsonResult<?> handleUserDeregisterException(UserRegisterLoginException e) { public JsonResult<?> handleUserDeregisterException(UserRegisterLoginException e) {
return JsonResult.buildErrorStateResult(e.getMessage(), null); return JsonResult.buildErrorStateResult(e.getMessage(), null);
} }
@ExceptionHandler(AccessForbiddenException.class)
public JsonResult<?> handleAccessForbiddenException(AccessForbiddenException e) {
return JsonResult.buildErrorStateResult(e.getMessage(), null);
}
} }
package cn.quantgroup.xyqb.controller.external; package cn.quantgroup.xyqb.controller.external;
import cn.quantgroup.security.AESEncryption;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator; import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.aspect.captcha.CaptchaFiniteValidator; import cn.quantgroup.xyqb.aspect.captcha.CaptchaFiniteValidator;
import cn.quantgroup.xyqb.aspect.captcha.LoginInterceptor; import cn.quantgroup.xyqb.aspect.captcha.LoginInterceptor;
import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator; import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator;
import cn.quantgroup.xyqb.aspect.lock.PasswordErrorFiniteValidator; import cn.quantgroup.xyqb.aspect.lock.PasswordErrorFiniteValidator;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
...@@ -14,7 +14,6 @@ import cn.quantgroup.xyqb.exception.VerificationCodeErrorException; ...@@ -14,7 +14,6 @@ import cn.quantgroup.xyqb.exception.VerificationCodeErrorException;
import cn.quantgroup.xyqb.model.*; import cn.quantgroup.xyqb.model.*;
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.repository.IUserRepository;
import cn.quantgroup.xyqb.service.http.IHttpService; import cn.quantgroup.xyqb.service.http.IHttpService;
import cn.quantgroup.xyqb.service.merchant.IMerchantService; import cn.quantgroup.xyqb.service.merchant.IMerchantService;
import cn.quantgroup.xyqb.service.register.IUserRegisterService; import cn.quantgroup.xyqb.service.register.IUserRegisterService;
...@@ -23,7 +22,10 @@ import cn.quantgroup.xyqb.service.sms.ISmsService; ...@@ -23,7 +22,10 @@ import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.service.user.*; import cn.quantgroup.xyqb.service.user.*;
import cn.quantgroup.xyqb.service.wechat.IWechatService; import cn.quantgroup.xyqb.service.wechat.IWechatService;
import cn.quantgroup.xyqb.session.XyqbSessionContextHolder; import cn.quantgroup.xyqb.session.XyqbSessionContextHolder;
import cn.quantgroup.xyqb.util.*; import cn.quantgroup.xyqb.util.IpUtil;
import cn.quantgroup.xyqb.util.PasswordUtil;
import cn.quantgroup.xyqb.util.TenantUtil;
import cn.quantgroup.xyqb.util.ValidationUtil;
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;
...@@ -580,6 +582,7 @@ public class UserController implements IBaseController { ...@@ -580,6 +582,7 @@ public class UserController implements IBaseController {
* @return * @return
* @yapi http://yapi.quantgroups.com/project/17/interface/api/267 * @yapi http://yapi.quantgroups.com/project/17/interface/api/267
*/ */
@AccessForbiddenValidator
@PasswordFreeAccessValidator @PasswordFreeAccessValidator
@RequestMapping("/center/index") @RequestMapping("/center/index")
@ApiOperation(value = "用户中心首页", notes = "用户中心首页显示头像, 昵称, 姓名", httpMethod = "POST") @ApiOperation(value = "用户中心首页", notes = "用户中心首页显示头像, 昵称, 姓名", httpMethod = "POST")
......
package cn.quantgroup.xyqb.controller.internal.querylog; package cn.quantgroup.xyqb.controller.internal.querylog;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.quantgroup.xyqb.exception.UserQueryLogException;
import cn.quantgroup.xyqb.util.encrypt.Rsa;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.google.gson.*;
import io.swagger.annotations.ApiOperation;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.entity.Address; import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserQueryLog; import cn.quantgroup.xyqb.entity.UserQueryLog;
import cn.quantgroup.xyqb.exception.UserQueryLogException;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.PageModel; import cn.quantgroup.xyqb.model.PageModel;
import cn.quantgroup.xyqb.model.UserQueryInfo; import cn.quantgroup.xyqb.model.UserQueryInfo;
...@@ -39,6 +16,26 @@ import cn.quantgroup.xyqb.service.user.IUserQueryLogService; ...@@ -39,6 +16,26 @@ import cn.quantgroup.xyqb.service.user.IUserQueryLogService;
import cn.quantgroup.xyqb.util.IdcardValidator; import cn.quantgroup.xyqb.util.IdcardValidator;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.util.encrypt.Md5Util; import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import cn.quantgroup.xyqb.util.encrypt.Rsa;
import com.google.gson.*;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
/** /**
* Created by zenglibin on 17/06/13. * Created by zenglibin on 17/06/13.
...@@ -129,6 +126,7 @@ public class UserQueryLogController { ...@@ -129,6 +126,7 @@ public class UserQueryLogController {
/** /**
* @yapi http://yapi.quantgroups.com/project/17/interface/api/261 * @yapi http://yapi.quantgroups.com/project/17/interface/api/261
*/ */
@AccessForbiddenValidator
@RequestMapping("/queryUserInfo") @RequestMapping("/queryUserInfo")
@ApiOperation(value = "给运营系统提供的查询用户信息的接口", notes = "给运营系统提供的查询用户信息的接口", httpMethod = "POST") @ApiOperation(value = "给运营系统提供的查询用户信息的接口", notes = "给运营系统提供的查询用户信息的接口", httpMethod = "POST")
public JsonResult queryForResult(HttpServletRequest request, String key, String keyValues, String columns, Integer pageId, Integer pageSize) { public JsonResult queryForResult(HttpServletRequest request, String key, String keyValues, String columns, Integer pageId, Integer pageSize) {
......
...@@ -63,9 +63,8 @@ public class AppController implements IBaseController { ...@@ -63,9 +63,8 @@ public class AppController implements IBaseController {
@AuthorizationPoint @AuthorizationPoint
@RequestMapping("/auth/v1/login") @RequestMapping("/auth/v1/login")
public JsonResult authLoginV1( public JsonResult authLoginV1(
String idNo String name,
, String name @RequestParam(required = true) String key,
, @RequestParam(required = true) String key,
@RequestParam(required = true) Long createdFrom, @RequestParam(required = true) Long createdFrom,
@RequestParam(required = false) Long registerFrom, @RequestParam(required = false) Long registerFrom,
@RequestParam(required = true) Long channelId, @RequestParam(required = true) Long channelId,
...@@ -89,7 +88,7 @@ public class AppController implements IBaseController { ...@@ -89,7 +88,7 @@ public class AppController implements IBaseController {
if (user == null) { if (user == null) {
// 未注册过 // 未注册过
isRegister = true; isRegister = true;
user = userRegisterService.register(registerFrom, phoneNumber, idNo, name, channelId, createdFrom, tenantId); user = userRegisterService.register(registerFrom, phoneNumber, name, channelId, createdFrom, tenantId);
} }
// 无论是否注册过都添加映射 // 无论是否注册过都添加映射
oauthLoginInfoService.addLoginInfo(user, tenantId); oauthLoginInfoService.addLoginInfo(user, tenantId);
......
...@@ -5,6 +5,7 @@ import cn.quantgroup.tech.db.TargetDataSource; ...@@ -5,6 +5,7 @@ import cn.quantgroup.tech.db.TargetDataSource;
import cn.quantgroup.user.enums.*; import cn.quantgroup.user.enums.*;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.accessable.IpValidator; import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp; import cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp;
import cn.quantgroup.xyqb.entity.*; import cn.quantgroup.xyqb.entity.*;
...@@ -53,7 +54,6 @@ import javax.validation.constraints.Min; ...@@ -53,7 +54,6 @@ import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -261,6 +261,7 @@ public class InnerController implements IBaseController { ...@@ -261,6 +261,7 @@ public class InnerController implements IBaseController {
/** /**
* @yapi http://yapi.quantgroups.com/project/17/interface/api/227 * @yapi http://yapi.quantgroups.com/project/17/interface/api/227
*/ */
@AccessForbiddenValidator
@RequestMapping("/userInfo/search/phone") @RequestMapping("/userInfo/search/phone")
@ApiOperation(httpMethod = "POST", value = "根据手机号查询用户详细信息") @ApiOperation(httpMethod = "POST", value = "根据手机号查询用户详细信息")
public JsonResult findUserInfoByPhone(@RequestParam(value = "phone") String phone) { public JsonResult findUserInfoByPhone(@RequestParam(value = "phone") String phone) {
...@@ -421,6 +422,7 @@ public class InnerController implements IBaseController { ...@@ -421,6 +422,7 @@ public class InnerController implements IBaseController {
* 根据用户id查询用户的详细信息 * 根据用户id查询用户的详细信息
* @yapi http://yapi.quantgroups.com/project/17/interface/api/237 * @yapi http://yapi.quantgroups.com/project/17/interface/api/237
*/ */
@AccessForbiddenValidator
@RequestMapping("/user_detail/search/userId") @RequestMapping("/user_detail/search/userId")
@ApiOperation(httpMethod = "POST", value = "查询用户详情") @ApiOperation(httpMethod = "POST", value = "查询用户详情")
public JsonResult findUserDetailByUserId(Long userId, Integer tenantId) { public JsonResult findUserDetailByUserId(Long userId, Integer tenantId) {
...@@ -466,6 +468,7 @@ public class InnerController implements IBaseController { ...@@ -466,6 +468,7 @@ public class InnerController implements IBaseController {
/** /**
* @yapi http://yapi.quantgroups.com/project/17/interface/api/235 * @yapi http://yapi.quantgroups.com/project/17/interface/api/235
*/ */
@AccessForbiddenValidator
@RequestMapping("/user_detail/search/phone") @RequestMapping("/user_detail/search/phone")
@ApiOperation(httpMethod = "POST", value = "查询用户详情") @ApiOperation(httpMethod = "POST", value = "查询用户详情")
public JsonResult findUserDetailByPhone(String phoneNo, Integer tenantId) { public JsonResult findUserDetailByPhone(String phoneNo, Integer tenantId) {
...@@ -731,6 +734,7 @@ public class InnerController implements IBaseController { ...@@ -731,6 +734,7 @@ public class InnerController implements IBaseController {
* @param idNo - 身份证号 * @param idNo - 身份证号
* @return JsonResult<List < UserDetail>> * @return JsonResult<List < UserDetail>>
*/ */
@AccessForbiddenValidator
@RequestMapping("/user_detail/search_list") @RequestMapping("/user_detail/search_list")
@ApiOperation(httpMethod = "POST", value = "按照姓名、份证号或手机号查询用户实名信息 - 精确查询,供客服用,不限制入参正确性") @ApiOperation(httpMethod = "POST", value = "按照姓名、份证号或手机号查询用户实名信息 - 精确查询,供客服用,不限制入参正确性")
@TargetDataSource(type = DSType.SLAVE) @TargetDataSource(type = DSType.SLAVE)
......
...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.controller.internal.user.center; ...@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.controller.internal.user.center;
import cn.quantgroup.user.enums.*; import cn.quantgroup.user.enums.*;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator; import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator;
import cn.quantgroup.xyqb.aspect.lock.RedisLock; import cn.quantgroup.xyqb.aspect.lock.RedisLock;
import cn.quantgroup.xyqb.entity.*; import cn.quantgroup.xyqb.entity.*;
...@@ -185,6 +186,7 @@ public class UserCenterController { ...@@ -185,6 +186,7 @@ public class UserCenterController {
* @param phoneNo * @param phoneNo
* @return * @return
*/ */
@AccessForbiddenValidator
@PasswordFreeAccessValidator @PasswordFreeAccessValidator
@RequestMapping("/personalData") @RequestMapping("/personalData")
@ApiOperation(value = "查询个人资料信息", notes = "查询个人资料信息", httpMethod = "POST") @ApiOperation(value = "查询个人资料信息", notes = "查询个人资料信息", httpMethod = "POST")
...@@ -228,6 +230,7 @@ public class UserCenterController { ...@@ -228,6 +230,7 @@ public class UserCenterController {
* @param contactJson 要保存的联系人json串 * @param contactJson 要保存的联系人json串
* @return * @return
*/ */
@AccessForbiddenValidator
@RequestMapping("/contacts/save") @RequestMapping("/contacts/save")
@ApiOperation(value = "保存用户联系人", notes = "保存用户联系人", httpMethod = "POST") @ApiOperation(value = "保存用户联系人", notes = "保存用户联系人", httpMethod = "POST")
public JsonResult saveUserContact(String phoneNo, String contactJson) { public JsonResult saveUserContact(String phoneNo, String contactJson) {
...@@ -327,6 +330,7 @@ public class UserCenterController { ...@@ -327,6 +330,7 @@ public class UserCenterController {
* @param phoneNo * @param phoneNo
* @return * @return
*/ */
@AccessForbiddenValidator
@RequestMapping("/searchContacts/phoneNo") @RequestMapping("/searchContacts/phoneNo")
@ApiOperation(value = "查询用户联系人", notes = "查询用户联系人", httpMethod = "POST") @ApiOperation(value = "查询用户联系人", notes = "查询用户联系人", httpMethod = "POST")
public JsonResult searchUserContacts(String phoneNo) { public JsonResult searchUserContacts(String phoneNo) {
...@@ -351,6 +355,7 @@ public class UserCenterController { ...@@ -351,6 +355,7 @@ public class UserCenterController {
* @param maritalStatus 婚姻状态 * @param maritalStatus 婚姻状态
* @return * @return
*/ */
@AccessForbiddenValidator
@RequestMapping("/save/userExtInfo") @RequestMapping("/save/userExtInfo")
@RedisLock(prefix = "lock:user:ext:", key = "#this[0]") @RedisLock(prefix = "lock:user:ext:", key = "#this[0]")
@ApiOperation(value = "保存用户经济学历等信息", notes = "保存用户经济学历等信息", httpMethod = "POST") @ApiOperation(value = "保存用户经济学历等信息", notes = "保存用户经济学历等信息", httpMethod = "POST")
......
...@@ -4,9 +4,10 @@ import cn.quantgroup.xyqb.util.HashUtil; ...@@ -4,9 +4,10 @@ import cn.quantgroup.xyqb.util.HashUtil;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.persistence.*; import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp;
@Data @Data
@Entity @Entity
...@@ -25,22 +26,13 @@ public class UserHashMapping extends BaseEntity implements Serializable { ...@@ -25,22 +26,13 @@ public class UserHashMapping extends BaseEntity implements Serializable {
@Column(name = "phone_no_md5") @Column(name = "phone_no_md5")
private String phoneNoMd5; private String phoneNoMd5;
@Column(name = "id_no_md5")
private String idNoMd5;
@Column(name = "phone_no_md5_short") @Column(name = "phone_no_md5_short")
private Long phoneNoMd5Short; private Long phoneNoMd5Short;
@Column(name = "id_no_md5_short")
private Long idNoMd5Short;
public void setPhoneNoMd5(String phoneNoMd5) { public void setPhoneNoMd5(String phoneNoMd5) {
this.phoneNoMd5 = phoneNoMd5; this.phoneNoMd5 = phoneNoMd5;
this.phoneNoMd5Short = HashUtil.crc32(phoneNoMd5); this.phoneNoMd5Short = HashUtil.crc32(phoneNoMd5);
} }
public void setIdNoMd5(String idNoMd5) {
this.idNoMd5 = idNoMd5;
this.idNoMd5Short = HashUtil.crc32(idNoMd5);
}
} }
\ No newline at end of file
...@@ -49,7 +49,7 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent ...@@ -49,7 +49,7 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent
} }
UserHashMapping userHashMapping = userHashMappingRepository.findByUserId(userId); UserHashMapping userHashMapping = userHashMappingRepository.findByUserId(userId);
if (userHashMapping != null && userHashMapping.getIdNoMd5() != null) { if (userHashMapping != null) {
//已存在的用户, 并且已存在身份证号 //已存在的用户, 并且已存在身份证号
return; return;
} }
...@@ -62,11 +62,6 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent ...@@ -62,11 +62,6 @@ public class PhoneHashEventListener implements ApplicationListener<RegisterEvent
userHashMapping.setPhoneNoMd5(phoneNoMd5); userHashMapping.setPhoneNoMd5(phoneNoMd5);
//如果有身份证号. 更新一下
if (StringUtils.isNotEmpty(idNo)) {
idNo = idNo.toUpperCase();
userHashMapping.setIdNoMd5(Md5Util.build(idNo));
}
try { try {
userHashMappingRepository.saveAndFlush(userHashMapping); userHashMappingRepository.saveAndFlush(userHashMapping);
......
...@@ -44,8 +44,6 @@ public class UserDetailHashEventListener implements ApplicationListener<UserDeta ...@@ -44,8 +44,6 @@ public class UserDetailHashEventListener implements ApplicationListener<UserDeta
userHashMapping.setPhoneNoMd5(Md5Util.build(phoneNo)); userHashMapping.setPhoneNoMd5(Md5Util.build(phoneNo));
//可能存在身份证号修改. 搞一下. //可能存在身份证号修改. 搞一下.
String idNo = userDetail.getIdNo().toUpperCase();
userHashMapping.setIdNoMd5(Md5Util.build(idNo));
try { try {
userHashMappingRepository.save(userHashMapping); userHashMappingRepository.save(userHashMapping);
} catch (PersistenceException e) { } catch (PersistenceException e) {
......
package cn.quantgroup.xyqb.exception;
/**
* 接口下线异常
*
* @author killer
* @date 2021年12月29日14:31:02
*/
public class AccessForbiddenException extends RuntimeException {
private static final long serialVersionUID = -1L;
public AccessForbiddenException(String msg, Throwable t) {
super(msg, t);
}
public AccessForbiddenException(String msg) {
super(msg);
}
}
...@@ -4,15 +4,13 @@ import cn.quantgroup.xyqb.entity.UserHashMapping; ...@@ -4,15 +4,13 @@ import cn.quantgroup.xyqb.entity.UserHashMapping;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
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); // List<UserHashMapping> findByIdNoMd5AndIdNoMd5Short(String idNoMd5, Long idNoMd5Short);
UserHashMapping findByUserId(Long userId); UserHashMapping findByUserId(Long userId);
......
...@@ -30,6 +30,7 @@ public interface IUserRegisterService { ...@@ -30,6 +30,7 @@ public interface IUserRegisterService {
User register(Long registerFrom, String phoneNo, String idNo, String name, Long channelId, Long btRegisterChannelId); User register(Long registerFrom, String phoneNo, String idNo, String name, Long channelId, Long btRegisterChannelId);
User register(Long registerFrom, String phoneNo, String idNo, String name, Long channelId, Long btRegisterChannelId, Integer tenantId); User register(Long registerFrom, String phoneNo, String idNo, String name, Long channelId, Long btRegisterChannelId, Integer tenantId);
User register(Long registerFrom, String phoneNo, String name, Long channelId, Long btRegisterChannelId, Integer tenantId);
/** /**
......
...@@ -284,4 +284,27 @@ public class UserRegisterServiceImpl implements IUserRegisterService { ...@@ -284,4 +284,27 @@ public class UserRegisterServiceImpl implements IUserRegisterService {
throw new UserRegisterLoginException("距离上次销户时间小于90天,无法再次注册"); throw new UserRegisterLoginException("距离上次销户时间小于90天,无法再次注册");
} }
} }
@Transactional(rollbackFor = Exception.class)
@Override
public User register(Long registerFrom, String phoneNo, String name, Long channelId, Long btRegisterChannelId, Integer tenantId) {
deregisterCheck(phoneNo);
UserRegisterParam userRegisterParam = UserRegisterParam.builder()
.registerFrom(registerFrom)
.phoneNo(phoneNo)
.name(name)
.channelId(channelId)
.btRegisterChannelId(btRegisterChannelId)
.sendSuccessSms(true)
.sendAppSms(true)
.sendSuccessMq(true)
.build();
User user = saveUser(userRegisterParam);
if (tenantId == null || tenantId.equals(TenantUtil.TENANT_DEFAULT)) {
applicationEventPublisher.publishEvent(new RegisterEvent(this, userRegisterParam));
}
return user;
}
} }
...@@ -278,8 +278,6 @@ public class UserServiceImpl implements IUserService, IBaseController { ...@@ -278,8 +278,6 @@ public class UserServiceImpl implements IUserService, IBaseController {
UserHashMapping userHashMapping; UserHashMapping userHashMapping;
if (FindByMd5Enum.PHONENO.getType() == type) { if (FindByMd5Enum.PHONENO.getType() == type) {
userHashMapping = userHashMappingRepository.findByPhoneNoMd5ShortAndPhoneNoMd5(value, md5Value); userHashMapping = userHashMappingRepository.findByPhoneNoMd5ShortAndPhoneNoMd5(value, md5Value);
} else if (FindByMd5Enum.IDNO.getType() == type) {
userHashMapping = userHashMappingRepository.findByIdNoMd5ShortAndIdNoMd5(value, md5Value);
} else { } else {
userHashMapping = null; userHashMapping = null;
UserHashPhoneNoIdNoMapping userHashPhoneNoIdNoMapping = userHashPhoneNoIdNoMappingRepository.findFirstByPhoneNoIdNoMd5(md5Value); UserHashPhoneNoIdNoMapping userHashPhoneNoIdNoMapping = userHashPhoneNoIdNoMappingRepository.findFirstByPhoneNoIdNoMd5(md5Value);
...@@ -302,12 +300,6 @@ public class UserServiceImpl implements IUserService, IBaseController { ...@@ -302,12 +300,6 @@ public class UserServiceImpl implements IUserService, IBaseController {
UserHashMapping userHashMapping = null; UserHashMapping userHashMapping = null;
if (FindByMd5Enum.PHONENO.getType() == type) { if (FindByMd5Enum.PHONENO.getType() == type) {
userHashMapping = userHashMappingRepository.findByPhoneNoMd5ShortAndPhoneNoMd5(value, md5Value); 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)).orElse(null);
}
} else { } else {
userHashMapping = null; userHashMapping = null;
UserHashPhoneNoIdNoMapping userHashPhoneNoIdNoMapping = userHashPhoneNoIdNoMappingRepository.findFirstByPhoneNoIdNoMd5(md5Value); UserHashPhoneNoIdNoMapping userHashPhoneNoIdNoMapping = userHashPhoneNoIdNoMappingRepository.findFirstByPhoneNoIdNoMd5(md5Value);
......
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