提交 c8ce8d93 编写于 作者: rushui.chen's avatar rushui.chen

“20200110 解决注册验证码不是原子操作的问题

上级 9445ca36
流水线 #20595 已失败 于阶段
in 0 second
...@@ -155,7 +155,7 @@ public class AutoCodeController extends AccountBaseController { ...@@ -155,7 +155,7 @@ public class AutoCodeController extends AccountBaseController {
logger.info("验证码缓存信息----->:"+this.getAuthCodeKey(mobilePhone, flag.toString())); logger.info("验证码缓存信息----->:"+this.getAuthCodeKey(mobilePhone, flag.toString()));
cacheClient.set(authCodeKeySecure, System.currentTimeMillis(), 60); cacheClient.set(authCodeKeySecure, System.currentTimeMillis(), 60);
//处理验证码原子性的问题 //处理验证码原子性的问题
cacheClient.set(RegisterCodeKeyUtils.getRegisterKey(mobilePhone,authCode), mobilePhone, 600); cacheClient.set(RegisterCodeKeyUtils.getRegisterKey(mobilePhone,authCode), 100, 600);
super.sendMobileMessage(mobilePhone, message, senderId); super.sendMobileMessage(mobilePhone, message, senderId);
} }
......
...@@ -25,8 +25,5 @@ public class AccountRepeatDataJob extends IJobHandler { ...@@ -25,8 +25,5 @@ public class AccountRepeatDataJob extends IJobHandler {
accountInfoDetailMapper.processAccountRepeatData(); accountInfoDetailMapper.processAccountRepeatData();
XxlJobLogger.log("repeat date-----"); XxlJobLogger.log("repeat date-----");
return SUCCESS; return SUCCESS;
} }
} }
...@@ -13,18 +13,18 @@ import org.springframework.stereotype.Component; ...@@ -13,18 +13,18 @@ import org.springframework.stereotype.Component;
* author:crs * author:crs
* Description:记录doctor修改记录日志 * Description:记录doctor修改记录日志
*/ */
@JobHandler(value = "DoctorLogHandler") //@JobHandler(value = "DoctorLogHandler")
@Component //@Component
public class DoctorLogHandler extends IJobHandler { //public class DoctorLogHandler extends IJobHandler {
//
@Autowired // @Autowired
private DoctorMapper doctorMapper; // private DoctorMapper doctorMapper;
//
@Override // @Override
public ReturnT<String> execute(String s) throws Exception { // public ReturnT<String> execute(String s) throws Exception {
XxlJobLogger.log("doctorLogRecord start-----"); // XxlJobLogger.log("doctorLogRecord start-----");
Integer rows = doctorMapper.updateDoctorModifyRecord(); // Integer rows = doctorMapper.updateDoctorModifyRecord();
XxlJobLogger.log("doctorLogRecord end-----"+rows); // XxlJobLogger.log("doctorLogRecord end-----"+rows);
return SUCCESS; // return SUCCESS;
} // }
} //}
//package com.pica.cloud.account.account.server.job; package com.pica.cloud.account.account.server.job;
//
//import com.pica.cloud.account.account.server.mapper.DoctorMapper; import com.pica.cloud.account.account.server.mapper.DoctorMapper;
//import com.pica.cloud.foundation.redis.ICacheClient; import com.pica.cloud.foundation.redis.ICacheClient;
//import org.slf4j.Logger; import org.slf4j.Logger;
//import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
//
//import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
//
///** /**
// * Created on 2019/10/29 15:37 * Created on 2019/10/29 15:37
// * author:crs * author:crs
// * Description:doctor表重复记录处理 * Description:doctor表重复记录处理
// */ */
//@Component //@Component
//public class DoctorRepeatDataJob { //public class DoctorRepeatDataJob {
// private final String KEY = "cacheProcessDoctorRepeat"; // private final String KEY = "cacheProcessDoctorRepeat";
......
...@@ -13,18 +13,18 @@ import org.springframework.stereotype.Component; ...@@ -13,18 +13,18 @@ import org.springframework.stereotype.Component;
* author:crs * author:crs
* Description:记录doctor修改记录日志 * Description:记录doctor修改记录日志
*/ */
@JobHandler(value = "HospitalLogHandler") //@JobHandler(value = "HospitalLogHandler")
@Component //@Component
public class HospitalLogHandler extends IJobHandler { //public class HospitalLogHandler extends IJobHandler {
//
@Autowired // @Autowired
private HospitalMapper hospitalMapper; // private HospitalMapper hospitalMapper;
//
@Override // @Override
public ReturnT<String> execute(String s) throws Exception { // public ReturnT<String> execute(String s) throws Exception {
XxlJobLogger.log("hospitalLogRecord start-----"); // XxlJobLogger.log("hospitalLogRecord start-----");
Integer rows = hospitalMapper.updateDoctorModifyRecord(); // Integer rows = hospitalMapper.updateDoctorModifyRecord();
XxlJobLogger.log("hospitalLogRecord end-----"+rows); // XxlJobLogger.log("hospitalLogRecord end-----"+rows);
return SUCCESS; // return SUCCESS;
} // }
} //}
...@@ -13,18 +13,18 @@ import org.springframework.stereotype.Component; ...@@ -13,18 +13,18 @@ import org.springframework.stereotype.Component;
* author:crs * author:crs
* Description:记录doctor修改记录日志 * Description:记录doctor修改记录日志
*/ */
@JobHandler(value = "PermissionRoleLogHandler") //@JobHandler(value = "PermissionRoleLogHandler")
@Component //@Component
public class PermissionRoleLogHandler extends IJobHandler { //public class PermissionRoleLogHandler extends IJobHandler {
//
@Autowired // @Autowired
private PermissionDoctorRoleMapper permissionDoctorRoleMapper; // private PermissionDoctorRoleMapper permissionDoctorRoleMapper;
//
@Override // @Override
public ReturnT<String> execute(String s) throws Exception { // public ReturnT<String> execute(String s) throws Exception {
XxlJobLogger.log("permissionRoleLogRecord start-----"); // XxlJobLogger.log("permissionRoleLogRecord start-----");
Integer rows = permissionDoctorRoleMapper.updatePermissionModifyRecord(); // Integer rows = permissionDoctorRoleMapper.updatePermissionModifyRecord();
XxlJobLogger.log("permissionLogRecord end-----"+rows); // XxlJobLogger.log("permissionLogRecord end-----"+rows);
return SUCCESS; // return SUCCESS;
} // }
} //}
...@@ -121,11 +121,15 @@ public class AccountUtils { ...@@ -121,11 +121,15 @@ public class AccountUtils {
String authCodeKey = RegisterCodeKeyUtils.getRegisterKey(mobile, sysCode); String authCodeKey = RegisterCodeKeyUtils.getRegisterKey(mobile, sysCode);
//从redis中删除短信验证码,如果能够删除成功,说明验证码正确 //从redis中删除短信验证码,如果能够删除成功,说明验证码正确
Long num = cacheClient.del(authCodeKey); //100,99
logger.info("key"+authCodeKey); Long num = cacheClient.decr(authCodeKey);
logger.info("success"+num); logger.info("key" + authCodeKey);
if (num != 1) { logger.info("success" + num);
throw new PicaException(PicaResultCode.RESULE_DATA_NONE.code(), "短信验证码错误"); if (num == -1) {
throw new PicaException(PicaResultCode.RESULE_DATA_NONE.code(), "短信验证码已失效,请重新获取");
}
if (num > 0 && num < 99) {
throw new PicaException(PicaResultCode.RESULE_DATA_NONE.code(), "您已注册成功,请直接登录");
} }
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册