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

修改网关登录入口,与主包逻辑统一(构建session除外)

parent 54f30328
......@@ -11,6 +11,7 @@ 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.merchant.IMerchantService;
import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.sms.ISmsService;
......@@ -56,6 +57,8 @@ public class InnerController implements IBaseController {
private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(InnerController.class);
@Autowired
private IMerchantService merchantService;
@Autowired
private IUserService userService;
@Autowired
......@@ -1129,6 +1132,7 @@ public class InnerController implements IBaseController {
/**
* 验证手机号和验证码是否匹配
* 仅供可信任的内部服务调用,不执行限次记数、销毁等安全策略
* 注意:只使用于快速登录类似场景调用
*
* @param phoneNo 手机号
* @param verificationCode 验证码(短信/语音)
......@@ -1136,7 +1140,20 @@ public class InnerController implements IBaseController {
*/
@LogHttpCaller
@RequestMapping("/verifyPhoneAndCode")
public JsonResult verifyPhoneAndCode(@RequestParam String phoneNo, @RequestParam String verificationCode) {
public JsonResult verifyPhoneAndCode(
@RequestParam String phoneNo, @RequestParam String verificationCode,
@RequestParam String appChannel,
@RequestParam(required = false, defaultValue = "1") Long channelId,
@RequestParam(required = false, defaultValue = "1") Long createdFrom,
@RequestParam(required = false,defaultValue = "xyqb") String key,
@RequestParam(required = false)Long btRegisterChannelId,
@RequestParam(required = false) String dimension) {
LOGGER.info("/innerapi/verifyPhoneAndCode -> phoneNo:{},verificationCode:{},channelId:{},appChannel:{},createdFrom:{},btRegisterChannelId:{},key:{},dimension:{}",phoneNo,verificationCode,channelId,appChannel,createdFrom,btRegisterChannelId,key,dimension);
// 验证接入方
Merchant merchant = merchantService.findMerchantByName(key);
if (merchant == null) {
return JsonResult.buildErrorStateResult("未知的连接", null);
}
// 验证手机号
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
LOGGER.info("验证手机号和验证码是否匹配,手机号错误, phoneNo:{}", phoneNo);
......@@ -1145,9 +1162,9 @@ public class InnerController implements IBaseController {
// 验证短信验证码
if (!smsService.verifyPhoneAndCode(phoneNo, verificationCode)) {
// 是否需要重新获取
//if(smsService.needResendCode(phoneNo)){
// return JsonResult.buildErrorStateResult("验证码失效,请重新获取", "");
//}
if(smsService.needResendCode(phoneNo)){
return JsonResult.buildErrorStateResult("验证码失效,请重新获取", "");
}
LOGGER.info("验证码校验失败,phoneNo:{} , verificationCode:{}", phoneNo, verificationCode);
return JsonResult.buildErrorStateResult("短信验证码错误", "");
}
......@@ -1159,12 +1176,15 @@ public class InnerController implements IBaseController {
}
// 用户不存在时自动注册
if (Objects.isNull(user)) {
user = userRegisterService.register(phoneNo, genRandomPwd(), null);
user = userRegisterService.register(phoneNo, channelId, createdFrom, appChannel,btRegisterChannelId,dimension);
// 注册失败
if (Objects.isNull(user)) {
return JsonResult.buildErrorStateResult("用户不存在", "");
}
}
//增加登陆统计发送
UserStatistics statistics=new UserStatistics(user,dimension,3,channelId);
MqUtils.sendLoanVest(statistics);
return JsonResult.buildSuccessResult("校验成功", new UserRet(user));
}
......
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