|
|
@@ -52,30 +52,6 @@ public class UserSendSmsCmd extends Cmd {
|
|
|
throw new IllegalArgumentException("手机号格式错误");
|
|
|
}
|
|
|
|
|
|
- String requestId = DistributedLock.getLockUUID();
|
|
|
- String key = this.getClass().getSimpleName() + reqJson.getString("tel");
|
|
|
- try {
|
|
|
- DistributedLock.waitGetDistributedLock(key, requestId);
|
|
|
- //校验是否有有效的验证码
|
|
|
- String smsCode = CommonCache.getValue(reqJson.getString("tel") + SendSmsFactory.VALIDATE_CODE);
|
|
|
-
|
|
|
- if (!StringUtil.isEmpty(smsCode) && smsCode.contains("-")) {
|
|
|
- long oldTime = Long.parseLong(smsCode.substring(smsCode.indexOf("-") + 1, smsCode.length()));
|
|
|
- long nowTime = new Date().getTime();
|
|
|
- if (nowTime - oldTime < 1000 * 60 * 2) {
|
|
|
- throw new IllegalArgumentException("请不要重复发送验证码");
|
|
|
- }
|
|
|
- }
|
|
|
- } finally {
|
|
|
- //清理事务信息
|
|
|
- DistributedLock.releaseDistributedLock(key, requestId);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
|
|
|
- String tel = reqJson.getString("tel");
|
|
|
String captchaType = reqJson.getString("captchaType");
|
|
|
if (!StringUtil.isEmpty(captchaType) && "ownerBinding".equals(captchaType)) {
|
|
|
OwnerDto ownerDto = new OwnerDto();
|
|
|
@@ -95,20 +71,46 @@ public class UserSendSmsCmd extends Cmd {
|
|
|
List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
|
|
|
Assert.listOnlyOne(ownerDtos, "填写业主信息错误,请确认,预留业主姓名、手机号" + idCardErrorMsg + "信息是否正确!");
|
|
|
}
|
|
|
- //校验是否传了 分页信息
|
|
|
- String msgCode = SendSmsFactory.generateMessageCode(6);
|
|
|
- SmsDto smsDto = new SmsDto();
|
|
|
- smsDto.setTel(tel);
|
|
|
- smsDto.setCode(msgCode);
|
|
|
- if ("ON".equals(MappingCache.getValue(MappingConstant.SMS_DOMAIN, SendSmsFactory.SMS_SEND_SWITCH))) {
|
|
|
- smsDto = smsInnerServiceSMOImpl.send(smsDto);
|
|
|
- } else {
|
|
|
- CommonCache.setValue(smsDto.getTel() + SendSmsFactory.VALIDATE_CODE, smsDto.getCode().toLowerCase() + "-" + new Date().getTime(), CommonCache.defaultExpireTime);
|
|
|
- smsDto.setSuccess(true);
|
|
|
- smsDto.setMsg("您的验证码为" + msgCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
|
|
|
+
|
|
|
+ String requestId = DistributedLock.getLockUUID();
|
|
|
+ String key = this.getClass().getSimpleName() + reqJson.getString("tel");
|
|
|
+ try {
|
|
|
+ DistributedLock.waitGetDistributedLock(key, requestId);
|
|
|
+ //校验是否有有效的验证码
|
|
|
+ String smsCode = CommonCache.getValue(reqJson.getString("tel") + SendSmsFactory.VALIDATE_CODE);
|
|
|
+
|
|
|
+ if (!StringUtil.isEmpty(smsCode) && smsCode.contains("-")) {
|
|
|
+ long oldTime = Long.parseLong(smsCode.substring(smsCode.indexOf("-") + 1, smsCode.length()));
|
|
|
+ long nowTime = new Date().getTime();
|
|
|
+ if (nowTime - oldTime < 1000 * 60 * 2) {
|
|
|
+ throw new IllegalArgumentException("请不要重复发送验证码");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ String tel = reqJson.getString("tel");
|
|
|
+ //校验是否传了 分页信息
|
|
|
+ String msgCode = SendSmsFactory.generateMessageCode(6);
|
|
|
+ SmsDto smsDto = new SmsDto();
|
|
|
+ smsDto.setTel(tel);
|
|
|
+ smsDto.setCode(msgCode);
|
|
|
+ if ("ON".equals(MappingCache.getValue(MappingConstant.SMS_DOMAIN, SendSmsFactory.SMS_SEND_SWITCH))) {
|
|
|
+ smsDto = smsInnerServiceSMOImpl.send(smsDto);
|
|
|
+ } else {
|
|
|
+ CommonCache.setValue(smsDto.getTel() + SendSmsFactory.VALIDATE_CODE, smsDto.getCode().toLowerCase() + "-" + new Date().getTime(), CommonCache.defaultExpireTime);
|
|
|
+ smsDto.setSuccess(true);
|
|
|
+ smsDto.setMsg("您的验证码为" + msgCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ ResponseEntity<String> sendMessageResult = new ResponseEntity<String>(smsDto.getMsg(), smsDto.isSuccess() ? HttpStatus.OK : HttpStatus.BAD_REQUEST);
|
|
|
+ context.setResponseEntity(sendMessageResult);
|
|
|
+ } finally {
|
|
|
+ //清理事务信息
|
|
|
+ DistributedLock.releaseDistributedLock(key, requestId);
|
|
|
}
|
|
|
- ResponseEntity<String> sendMessageResult = new ResponseEntity<String>(smsDto.getMsg(), smsDto.isSuccess() ? HttpStatus.OK : HttpStatus.BAD_REQUEST);
|
|
|
- context.setResponseEntity(sendMessageResult);
|
|
|
|
|
|
}
|
|
|
}
|