提交 6f58dc27 编写于 作者:  Peijun.zhao's avatar Peijun.zhao

Merge branch 'dev-login-20200323' into 'release'

Dev login 20200323

reviewCoder by zhaopeijun

See merge request !15
流水线 #23647 已失败 于阶段
in 0 second
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
<groupId>com.pica.cloud.foundation</groupId> <groupId>com.pica.cloud.foundation</groupId>
<artifactId>pica-cloud-service-starter</artifactId> <artifactId>pica-cloud-service-starter</artifactId>
<version>1.2.6-SNAPSHOT</version> <version>1.2.6-SNAPSHOT</version>
<!--<version>1.3.2.5</version>-->
<exclusions> <exclusions>
<exclusion> <exclusion>
<artifactId>pica-cloud-redis</artifactId> <artifactId>pica-cloud-redis</artifactId>
...@@ -167,7 +168,7 @@ ...@@ -167,7 +168,7 @@
<dependency> <dependency>
<groupId>com.pica.cloud.riskcontrol</groupId> <groupId>com.pica.cloud.riskcontrol</groupId>
<artifactId>pica-cloud-riskcontrol-client</artifactId> <artifactId>pica-cloud-riskcontrol-client</artifactId>
<version>1.0.2</version> <version>1.0.3.1</version>
</dependency> </dependency>
<!-- apple identifyToken校验 --> <!-- apple identifyToken校验 -->
...@@ -188,6 +189,18 @@ ...@@ -188,6 +189,18 @@
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency>
<groupId>com.pica.cloud.foundation</groupId>
<artifactId>pica-cloud-proof-client</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies> </dependencies>
......
...@@ -66,4 +66,13 @@ public class Constants { ...@@ -66,4 +66,13 @@ public class Constants {
/** 注册逻辑幂等处理缓存key */ /** 注册逻辑幂等处理缓存key */
public static final String REPEAT_REGISTER_PREFIX = "repeat-register—"; public static final String REPEAT_REGISTER_PREFIX = "repeat-register—";
/** h5拼图缓存key */
public static final String JIGSAW_CODE_KEY = "jigsaw-code-{mobile}";
/** h5拼图缓存时长*/
public static final int JIGSAW_CODE_EXPIRE_SECONDS = 60;
/** 风控记录过数据 */
public static final String RC_RECORDED_DATA_KEY = "risk-{mobile}-{ip}";
} }
...@@ -131,7 +131,10 @@ public abstract class AccountBaseController extends BaseController { ...@@ -131,7 +131,10 @@ public abstract class AccountBaseController extends BaseController {
String postData = JSON.toJSONString(picapSendMsgModel); String postData = JSON.toJSONString(picapSendMsgModel);
logger.info("sendMobileTo-mobile:{}, senderId-{}",mobile, senderId); logger.info("sendMobileTo-mobile:{}, senderId-{}",mobile, senderId);
long start = System.currentTimeMillis();
String jsonObj = HttpClientUtil.httpExecute(messageUrl, postData); String jsonObj = HttpClientUtil.httpExecute(messageUrl, postData);
long end1 = System.currentTimeMillis();
logger.info("sendMobileMessage-send message used {} million seconds", end1-start);
logger.info("sendMobileTo-{}", jsonObj); logger.info("sendMobileTo-{}", jsonObj);
if (StringUtils.isEmpty(jsonObj)) { if (StringUtils.isEmpty(jsonObj)) {
......
...@@ -189,20 +189,23 @@ public class AccountController extends AccountBaseController { ...@@ -189,20 +189,23 @@ public class AccountController extends AccountBaseController {
@ApiOperation("H5端一键登录功能,无需完善信息") @ApiOperation("H5端一键登录功能,无需完善信息")
@PostMapping("/login-register/v1") @PostMapping("/login-register/v1")
// @RepeatForbidden(uniqueKey = "content") 当前版本存在性能问题 luo优化后上
public PicaResponse loginRegister(@RequestBody EncryptEntity entity) throws Exception { public PicaResponse loginRegister(@RequestBody EncryptEntity entity) throws Exception {
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class); BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
this.checkMobilePhone(request.getMobile()); this.checkMobilePhone(request.getMobile());
AccountReq req = new AccountReq(); AccountReq req = new AccountReq();
req.setMobilePhone(request.getMobile()); req.setMobilePhone(request.getMobile());
req.setPassword(null);//登录或注册,只能使用验证码 // 登录或注册,只能使用验证码
req.setPassword(null);
req.setAuthCode(request.getAuthCode()); req.setAuthCode(request.getAuthCode());
req.setFlag("0"); req.setFlag("0");
req.setUnionid(request.getUnionId()); req.setUnionid(request.getUnionId());
//判断账号是否已经存在 // 判断账号是否已经存在
Account account = accountService.getByMobilePhone(req.getMobilePhone()); Account account = accountService.getByMobilePhone(req.getMobilePhone());
if (account != null) { if (account != null) {
PicaResponse response = this.login(req); //登录 // 登录
PicaResponse response = this.login(req);
if (response.getData() != null) { if (response.getData() != null) {
LoginResult result = new LoginResult(); LoginResult result = new LoginResult();
result.setToken(response.getData().toString()); result.setToken(response.getData().toString());
...@@ -210,7 +213,9 @@ public class AccountController extends AccountBaseController { ...@@ -210,7 +213,9 @@ public class AccountController extends AccountBaseController {
} }
return response; return response;
} else { } else {
return this.register(req); //注册 // 注册
PicaResponse<LoginResult> result = this.register(req);
return result;
} }
} }
......
...@@ -107,12 +107,13 @@ public class AutoCodeController extends AccountBaseController { ...@@ -107,12 +107,13 @@ public class AutoCodeController extends AccountBaseController {
// 验证码类型 0默认 1注册 2微信登录绑定手机 3修改手机 // 验证码类型 0默认 1注册 2微信登录绑定手机 3修改手机
// 4重置密码 5忘记密码 7患者招募提交问卷(效验) 8Appe登录绑定手机 // 4重置密码 5忘记密码 7患者招募提交问卷(效验) 8Appe登录绑定手机
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class); BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setSourceType(super.getSourceType());
AccountUtils.checkMobilePhone(request.getMobile()); AccountUtils.checkMobilePhone(request.getMobile());
if (request.getBizType() != null && request.getBizType().equals(1)) { if (request.getBizType() != null && request.getBizType().equals(1)) {
logger.info("app-rcValidate-start"); logger.info("app-rcValidate-start");
// 调用风控接口 // 调用风控接口
authCodeService.rcValidate(req, request, super.getDeviceInfo()); authCodeService.rcValidate(req, request, super.getDeviceInfo(), super.getSourceType());
// 发送短信验证码 // 发送短信验证码
processSysCode(request.getMobile(), request.getFlag()); processSysCode(request.getMobile(), request.getFlag());
return PicaResponse.toResponse(); return PicaResponse.toResponse();
...@@ -128,32 +129,24 @@ public class AutoCodeController extends AccountBaseController { ...@@ -128,32 +129,24 @@ public class AutoCodeController extends AccountBaseController {
@ApiOperation("获取短信验证码,无需图形验证码,如h5端") @ApiOperation("获取短信验证码,无需图形验证码,如h5端")
@PostMapping(value = "/H5/authCode") @PostMapping(value = "/H5/authCode")
public PicaResponse getH5AuthCode(@RequestBody EncryptEntity entity, HttpServletRequest req) throws Exception { public PicaResponse getH5AuthCode(@RequestBody EncryptEntity entity, HttpServletRequest req) throws Exception {
// 如果该接口已关闭(缓存key存在),则直接返回
if (cacheClient.exists(Constants.AUTHCODE_H5_SWITCH_KEY)) {
logger.info("getH5AuthCode-interface-return");
throw new PicaWarnException(AccountExceptionEnum.PICA_H5_AUTH_CODE_INTERFACE_OFFED.getCode(),
AccountExceptionEnum.PICA_H5_AUTH_CODE_INTERFACE_OFFED.getMessage());
}
// 验证码类型 0默认 1注册 2微信登录绑定手机 3修改手机 // 验证码类型 0默认 1注册 2微信登录绑定手机 3修改手机
// 4重置密码 5忘记密码 7患者招募提交问卷(效验) 8Appe登录绑定手机 // 4重置密码 5忘记密码 7患者招募提交问卷(效验) 8Appe登录绑定手机
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class); BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setSourceType(super.getSourceType());
AccountUtils.checkMobilePhone(request.getMobile()); AccountUtils.checkMobilePhone(request.getMobile());
if (request.getBizType() != null && request.getBizType().equals(1)) { // 拼图验证
logger.info("h5-rcValidate-start"); int recordData = authCodeService.validateJigsawCode(req, request);
// 调用风控接口
authCodeService.rcValidate(req, request, super.getDeviceInfo()); // 发送短信验证码
// 发送短信验证码 processSysCode(request.getMobile(), request.getFlag());
processSysCode(request.getMobile(), request.getFlag());
return PicaResponse.toResponse(); if (recordData != -1) {
} else { // 记录风控数据(记录是h5端)
// h5(发送短信验证码)
processSysCode(request.getMobile(), request.getFlag());
// 记录风控数据
authCodeService.recordRcData(req, request, super.getDeviceInfo("device_ip")); authCodeService.recordRcData(req, request, super.getDeviceInfo("device_ip"));
return PicaResponse.toResponse();
} }
return PicaResponse.toResponse();
} }
/** /**
...@@ -169,6 +162,7 @@ public class AutoCodeController extends AccountBaseController { ...@@ -169,6 +162,7 @@ public class AutoCodeController extends AccountBaseController {
public PicaResponse<String> getAuthCodeWithCaptcha(@RequestBody EncryptEntity entity, public PicaResponse<String> getAuthCodeWithCaptcha(@RequestBody EncryptEntity entity,
HttpServletRequest req) throws Exception { HttpServletRequest req) throws Exception {
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class); BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setSourceType(super.getSourceType());
String mobilePhone = request.getMobile(); String mobilePhone = request.getMobile();
String flag = request.getFlag() + ""; String flag = request.getFlag() + "";
String captchaToken = request.getCaptchaToken(); String captchaToken = request.getCaptchaToken();
...@@ -197,7 +191,13 @@ public class AutoCodeController extends AccountBaseController { ...@@ -197,7 +191,13 @@ public class AutoCodeController extends AccountBaseController {
return PicaResponse.toResponse(StringUtils.EMPTY); return PicaResponse.toResponse(StringUtils.EMPTY);
} }
@ApiOperation("获取拼图码校验")
@PostMapping("/jigsawCode")
public PicaResponse getJigsawCode(@RequestBody EncryptEntity entity,
HttpServletRequest req) throws Exception {
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
return PicaResponse.toResponse(authCodeService.getJigsawCode(req, super.getSourceType(), request.getMobile()));
}
@ApiOperation("微信获取验证码") @ApiOperation("微信获取验证码")
@PostMapping(value = "/authCode/wechat") @PostMapping(value = "/authCode/wechat")
...@@ -253,6 +253,7 @@ public class AutoCodeController extends AccountBaseController { ...@@ -253,6 +253,7 @@ public class AutoCodeController extends AccountBaseController {
* @param authCodeKeySecure * @param authCodeKeySecure
*/ */
private void processSendAuthCode(String mobilePhone, Integer flag, String authCodeKeySecure) { private void processSendAuthCode(String mobilePhone, Integer flag, String authCodeKeySecure) {
long start = System.currentTimeMillis();
String authCode = CommonUtil.createValidateCode(); String authCode = CommonUtil.createValidateCode();
String message = "您的验证码是" + authCode + ",在10分钟内有效。如非本人操作,请忽略本短信!"; String message = "您的验证码是" + authCode + ",在10分钟内有效。如非本人操作,请忽略本短信!";
Integer accountIdByMobilePhone = accountService.getAccountIdByMobilePhone(mobilePhone); Integer accountIdByMobilePhone = accountService.getAccountIdByMobilePhone(mobilePhone);
...@@ -265,7 +266,11 @@ public class AutoCodeController extends AccountBaseController { ...@@ -265,7 +266,11 @@ public class AutoCodeController extends AccountBaseController {
cacheClient.set(authCodeKeySecure, System.currentTimeMillis(), 60); cacheClient.set(authCodeKeySecure, System.currentTimeMillis(), 60);
//处理验证码原子性的问题 //处理验证码原子性的问题
cacheClient.set(RegisterCodeKeyUtils.getRegisterKey(mobilePhone,authCode), 100, 600); cacheClient.set(RegisterCodeKeyUtils.getRegisterKey(mobilePhone,authCode), 100, 600);
long end1 = System.currentTimeMillis();
logger.info("processSendAuthCode-1 used {} million seconds", end1-start);
super.sendMobileMessage(mobilePhone, message, senderId); super.sendMobileMessage(mobilePhone, message, senderId);
long end2 = System.currentTimeMillis();
logger.info("processSendAuthCode-2 used {} million seconds", end2-start);
} }
//获取验证码redis key //获取验证码redis key
......
...@@ -217,6 +217,7 @@ public class LoginController extends AccountBaseController { ...@@ -217,6 +217,7 @@ public class LoginController extends AccountBaseController {
@PostMapping("/unifiedVerification") @PostMapping("/unifiedVerification")
public PicaResponse unifiedVerification(@RequestBody EncryptEntity entity) throws Exception{ public PicaResponse unifiedVerification(@RequestBody EncryptEntity entity) throws Exception{
BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class); BaseRequest request = CryptoUtil.decrypt(entity, BaseRequest.class);
request.setSourceType(super.getSourceType());
loginService.preLoginValidate(request); loginService.preLoginValidate(request);
return PicaResponse.toResponse(); return PicaResponse.toResponse();
} }
......
...@@ -47,9 +47,14 @@ public enum AccountExceptionEnum { ...@@ -47,9 +47,14 @@ public enum AccountExceptionEnum {
PICA_RC_BLACKLIST("216538", "发送成功"), PICA_RC_BLACKLIST("216538", "发送成功"),
PICA_RC_DAY_LIMIT("216539", "今日获取验证码次数已超过上限,请使用账户密码登录"), PICA_RC_DAY_LIMIT("216539", "今日获取验证码次数已超过上限,请使用账户密码登录"),
PICA_RC_60_SECOND_LIMIT("216540", "验证码发送频率过高,请{remainTime}秒后再试"), PICA_RC_60_SECOND_LIMIT("216540", "验证码发送频率过高,请{remainTime}秒后再试"),
PICA_H5_AUTH_CODE_INTERFACE_OFFED("216541", "该功能已关闭"),
PICA_MESSAGE_SERVICE_CALL_FAIL("216542", "短信发送失败"), PICA_MESSAGE_SERVICE_CALL_FAIL("216542", "短信发送失败"),
PICA_BIND_WECHAT_FAIL("216543", "绑定微信失败"), PICA_BIND_WECHAT_FAIL("216543", "绑定微信失败"),
PICA_CAP_CODE_ERROR("216544", "拼图验证失败"),
PICA_CAP_GET_INVOKE_ERROR("216545", "拼图获取失败"),
PICA_RC_BUSINESS_ERROR("216546", "参数格式错误"),
PICA_MOBILE_NOT_REGIST_H5("216547", "该手机号尚未设置密码,设置密码请前往云鹊医APP,或使用其他方式登录。"),
PICA_MOBILE_NOT_SETED_PASSWORD_H5("216548", "该手机号尚未设置密码,设置密码请前往云鹊医APP,或使用其他方式登录。"),
PICA_PWD_MISMATCH_5_H5("216549", "该账号密码错误次数已达上限请24小时后再试,或请使用其他登录方式"),
xxx_xxx("",""); xxx_xxx("","");
......
...@@ -11,6 +11,7 @@ package com.pica.cloud.account.account.server.enums; ...@@ -11,6 +11,7 @@ package com.pica.cloud.account.account.server.enums;
public enum RcRepTypeEnum { public enum RcRepTypeEnum {
// 风控禁止发送 // 风控禁止发送
RC_ALLOW_SEND_MSG("1", "允许发送"),
RC_SEND_FAIL("2", "发送失败"), RC_SEND_FAIL("2", "发送失败"),
RC_TRIGGER("3", "需要触发风控滑动验证"), RC_TRIGGER("3", "需要触发风控滑动验证"),
// 账号、IP、设备在黑名单内,前端提示发送成功,后端不发送短信 // 账号、IP、设备在黑名单内,前端提示发送成功,后端不发送短信
......
// Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @ClassName AuthCodeReq
* @Description h5拼图对象
* @Author Chongwen.jiang
* @Date 2020/3/23 13:29
* @ModifyDate 2020/3/23 13:29
* @Version 1.0
*/
@ApiModel(value = "JigsawCodeModel", description = "h5拼图对象")
public class JigsawCodeModel {
@ApiModelProperty(value = "背景图")
private String backImage;
@ApiModelProperty(value = "滑动图")
private String slidingImage;
@ApiModelProperty(value = "y坐标")
private Integer yHeight;
@ApiModelProperty(value = "时间戳")
private String capCode;
public String getBackImage() {
return backImage;
}
public void setBackImage(String backImage) {
this.backImage = backImage;
}
public String getSlidingImage() {
return slidingImage;
}
public void setSlidingImage(String slidingImage) {
this.slidingImage = slidingImage;
}
public Integer getyHeight() {
return yHeight;
}
public void setyHeight(Integer yHeight) {
this.yHeight = yHeight;
}
public String getCapCode() {
return capCode;
}
public void setCapCode(String capCode) {
this.capCode = capCode;
}
}
...@@ -46,6 +46,10 @@ public class BaseRequest { ...@@ -46,6 +46,10 @@ public class BaseRequest {
private String appleId; private String appleId;
@ApiModelProperty("apple用户信息(json字符串)") @ApiModelProperty("apple用户信息(json字符串)")
private String info; private String info;
@ApiModelProperty("capCode")
private String capCode;
@ApiModelProperty("滑动图片的x位置")
private int xPos;
public String getCaptchaToken() { public String getCaptchaToken() {
return captchaToken; return captchaToken;
...@@ -206,4 +210,20 @@ public class BaseRequest { ...@@ -206,4 +210,20 @@ public class BaseRequest {
public void setDevice_token(String device_token) { public void setDevice_token(String device_token) {
this.device_token = device_token; this.device_token = device_token;
} }
public String getCapCode() {
return capCode;
}
public void setCapCode(String capCode) {
this.capCode = capCode;
}
public int getxPos() {
return xPos;
}
public void setxPos(int xPos) {
this.xPos = xPos;
}
} }
// Copyright 2016-2101 Pica. // Copyright 2016-2101 Pica.
package com.pica.cloud.account.account.server.service; package com.pica.cloud.account.account.server.service;
import com.pica.cloud.account.account.server.model.JigsawCodeModel;
import com.pica.cloud.account.account.server.req.BaseRequest; import com.pica.cloud.account.account.server.req.BaseRequest;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -15,8 +16,13 @@ import javax.servlet.http.HttpServletRequest; ...@@ -15,8 +16,13 @@ import javax.servlet.http.HttpServletRequest;
*/ */
public interface AuthCodeService { public interface AuthCodeService {
void rcValidate(HttpServletRequest request, BaseRequest baseRequest, String deviceInfoStr); int rcValidate(HttpServletRequest request, BaseRequest baseRequest, String deviceInfoStr, Integer sourceType);
void recordRcData(HttpServletRequest req, BaseRequest baseRequest, String deviceIp); void recordRcData(HttpServletRequest req, BaseRequest baseRequest, String deviceIp);
int validateJigsawCode(HttpServletRequest request, BaseRequest req);
JigsawCodeModel getJigsawCode(HttpServletRequest request, Integer sourceType, String mobile);
} }
...@@ -9,6 +9,7 @@ import com.pica.cloud.account.account.server.constants.Constants; ...@@ -9,6 +9,7 @@ import com.pica.cloud.account.account.server.constants.Constants;
import com.pica.cloud.account.account.server.entity.*; import com.pica.cloud.account.account.server.entity.*;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
import com.pica.cloud.account.account.server.enums.AccountTypeEnum; import com.pica.cloud.account.account.server.enums.AccountTypeEnum;
import com.pica.cloud.account.account.server.enums.SourceTypeEnum;
import com.pica.cloud.account.account.server.log.AccountLogEntityUtils; import com.pica.cloud.account.account.server.log.AccountLogEntityUtils;
import com.pica.cloud.account.account.server.log.AccountLogUtils; import com.pica.cloud.account.account.server.log.AccountLogUtils;
import com.pica.cloud.account.account.server.mapper.*; import com.pica.cloud.account.account.server.mapper.*;
...@@ -122,6 +123,7 @@ public class LoginServiceImpl implements LoginService { ...@@ -122,6 +123,7 @@ public class LoginServiceImpl implements LoginService {
@Override @Override
public LoginResult login(BaseRequest request) { public LoginResult login(BaseRequest request) {
String mobile = request.getMobile(); String mobile = request.getMobile();
Integer sourceType = request.getSourceType();
String encrypt = AESUtil.encryptV0(mobile); String encrypt = AESUtil.encryptV0(mobile);
AccountInfoEntity accountInfoEntity = accountInfoDetailMapper.selectByMobile(encrypt); AccountInfoEntity accountInfoEntity = accountInfoDetailMapper.selectByMobile(encrypt);
logger.info("bizType:{}, account not null:{}", request.getBizType(), accountInfoEntity != null); logger.info("bizType:{}, account not null:{}", request.getBizType(), accountInfoEntity != null);
...@@ -132,16 +134,26 @@ public class LoginServiceImpl implements LoginService { ...@@ -132,16 +134,26 @@ public class LoginServiceImpl implements LoginService {
request.getBizType().equals(1)) { request.getBizType().equals(1)) {
// 新版-未设置密码 // 新版-未设置密码
if (StringUtils.isEmpty(oldPwd)) { if (StringUtils.isEmpty(oldPwd)) {
throw new PicaException(AccountExceptionEnum.PICA_PASSWORD_RULE_ERROR.getCode(), if (sourceType != null && SourceTypeEnum.H5.getCode().equals(sourceType)) {
AccountExceptionEnum.PICA_PASSWORD_RULE_ERROR.getMessage() throw new PicaWarnException(AccountExceptionEnum.PICA_MOBILE_NOT_SETED_PASSWORD_H5.getCode(),
.replace("{mobile}", mobile)); AccountExceptionEnum.PICA_MOBILE_NOT_SETED_PASSWORD_H5.getMessage());
} else {
throw new PicaException(AccountExceptionEnum.PICA_PASSWORD_RULE_ERROR.getCode(),
AccountExceptionEnum.PICA_PASSWORD_RULE_ERROR.getMessage()
.replace("{mobile}", mobile));
}
} else { } else {
// 判断账号是否已锁 // 判断账号是否已锁
logger.info("new login failure:" + mobile); logger.info("new login failure:" + mobile);
String lockKey = Constants.ACCOUNT_LOCK_KEY.replace("{mobile}", mobile); String lockKey = Constants.ACCOUNT_LOCK_KEY.replace("{mobile}", mobile);
if (redisClient.exists(lockKey)) { if (redisClient.exists(lockKey)) {
throw new PicaException(AccountExceptionEnum.PICA_PWD_MISMATCH_5.getCode(), if (sourceType != null && SourceTypeEnum.H5.getCode().equals(sourceType)) {
AccountExceptionEnum.PICA_PWD_MISMATCH_5.getMessage().replace("{mobile}", mobile)); throw new PicaException(AccountExceptionEnum.PICA_PWD_MISMATCH_5_H5.getCode(),
AccountExceptionEnum.PICA_PWD_MISMATCH_5_H5.getMessage());
} else {
throw new PicaException(AccountExceptionEnum.PICA_PWD_MISMATCH_5.getCode(),
AccountExceptionEnum.PICA_PWD_MISMATCH_5.getMessage().replace("{mobile}", mobile));
}
} }
if (password.equals(oldPwd)) { if (password.equals(oldPwd)) {
...@@ -158,8 +170,13 @@ public class LoginServiceImpl implements LoginService { ...@@ -158,8 +170,13 @@ public class LoginServiceImpl implements LoginService {
} else { } else {
// 设置账号锁定24h // 设置账号锁定24h
redisClient.set(lockKey, mobile, Constants.PWD_ERROR_NUM_SECONDS); redisClient.set(lockKey, mobile, Constants.PWD_ERROR_NUM_SECONDS);
throw new PicaException(AccountExceptionEnum.PICA_PWD_MISMATCH_5.getCode(), if (sourceType != null && SourceTypeEnum.H5.getCode().equals(sourceType)) {
AccountExceptionEnum.PICA_PWD_MISMATCH_5.getMessage().replace("{mobile}", mobile)); throw new PicaException(AccountExceptionEnum.PICA_PWD_MISMATCH_5_H5.getCode(),
AccountExceptionEnum.PICA_PWD_MISMATCH_5_H5.getMessage());
} else {
throw new PicaException(AccountExceptionEnum.PICA_PWD_MISMATCH_5.getCode(),
AccountExceptionEnum.PICA_PWD_MISMATCH_5.getMessage().replace("{mobile}", mobile));
}
} }
} else { } else {
redisClient.set(errorKey, 1, Constants.PWD_ERROR_NUM_SECONDS); redisClient.set(errorKey, 1, Constants.PWD_ERROR_NUM_SECONDS);
...@@ -181,10 +198,15 @@ public class LoginServiceImpl implements LoginService { ...@@ -181,10 +198,15 @@ public class LoginServiceImpl implements LoginService {
} else { } else {
if (null != request.getBizType() && if (null != request.getBizType() &&
request.getBizType().equals(1)) { request.getBizType().equals(1)) {
// 新版-未注册 if (sourceType != null && SourceTypeEnum.H5.getCode().equals(sourceType)) {
throw new PicaException(AccountExceptionEnum.PICA_PASSWORD_RULE_ERROR.getCode(), throw new PicaWarnException(AccountExceptionEnum.PICA_MOBILE_NOT_REGIST_H5.getCode(),
AccountExceptionEnum.PICA_PASSWORD_RULE_ERROR.getMessage() AccountExceptionEnum.PICA_MOBILE_NOT_REGIST_H5.getMessage());
.replace("{mobile}", mobile)); } else {
// 新版-未注册
throw new PicaException(AccountExceptionEnum.PICA_PASSWORD_RULE_ERROR.getCode(),
AccountExceptionEnum.PICA_PASSWORD_RULE_ERROR.getMessage()
.replace("{mobile}", mobile));
}
} else { } else {
throw new PicaException(AccountExceptionEnum.PICA_NOT_REGISTER.getCode(), AccountExceptionEnum.PICA_NOT_REGISTER.getMessage()); throw new PicaException(AccountExceptionEnum.PICA_NOT_REGISTER.getCode(), AccountExceptionEnum.PICA_NOT_REGISTER.getMessage());
} }
...@@ -568,6 +590,7 @@ public class LoginServiceImpl implements LoginService { ...@@ -568,6 +590,7 @@ public class LoginServiceImpl implements LoginService {
public void preLoginValidate(BaseRequest request) { public void preLoginValidate(BaseRequest request) {
Integer bizType = request.getBizType(); Integer bizType = request.getBizType();
String mobile = request.getMobile(); String mobile = request.getMobile();
Integer sourceType = request.getSourceType();
if (null == bizType) { if (null == bizType) {
logger.info("bizType is null"); logger.info("bizType is null");
...@@ -592,13 +615,23 @@ public class LoginServiceImpl implements LoginService { ...@@ -592,13 +615,23 @@ public class LoginServiceImpl implements LoginService {
// 手机号是否注册 // 手机号是否注册
AccountInfoEntity accountInfo = accountInfoDetailMapper.selectByMobile(AESUtil.encryptV0(mobile)); AccountInfoEntity accountInfo = accountInfoDetailMapper.selectByMobile(AESUtil.encryptV0(mobile));
if (accountInfo == null) { if (accountInfo == null) {
throw new PicaWarnException(AccountExceptionEnum.PICA_MOBILE_NOT_REGIST.getCode(), if (sourceType != null && SourceTypeEnum.H5.getCode().equals(sourceType)) {
AccountExceptionEnum.PICA_MOBILE_NOT_REGIST.getMessage().replace("{mobile}", mobile)); throw new PicaWarnException(AccountExceptionEnum.PICA_MOBILE_NOT_REGIST_H5.getCode(),
AccountExceptionEnum.PICA_MOBILE_NOT_REGIST_H5.getMessage());
} else {
throw new PicaWarnException(AccountExceptionEnum.PICA_MOBILE_NOT_REGIST.getCode(),
AccountExceptionEnum.PICA_MOBILE_NOT_REGIST.getMessage().replace("{mobile}", mobile));
}
} }
// 手机号是否设置了密码 // 手机号是否设置了密码
if (StringUtils.isEmpty(accountInfo.getPassword())) { if (StringUtils.isEmpty(accountInfo.getPassword())) {
throw new PicaWarnException(AccountExceptionEnum.PICA_MOBILE_NOT_SETED_PASSWORD.getCode(), if (sourceType != null && SourceTypeEnum.H5.getCode().equals(sourceType)) {
AccountExceptionEnum.PICA_MOBILE_NOT_SETED_PASSWORD.getMessage().replace("{mobile}", mobile)); throw new PicaWarnException(AccountExceptionEnum.PICA_MOBILE_NOT_SETED_PASSWORD_H5.getCode(),
AccountExceptionEnum.PICA_MOBILE_NOT_SETED_PASSWORD_H5.getMessage());
} else {
throw new PicaWarnException(AccountExceptionEnum.PICA_MOBILE_NOT_SETED_PASSWORD.getCode(),
AccountExceptionEnum.PICA_MOBILE_NOT_SETED_PASSWORD.getMessage().replace("{mobile}", mobile));
}
} }
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册