短信发送日志调整
This commit is contained in:
@@ -21,4 +21,7 @@ public class EleEvtParam {
|
|||||||
private String unit;
|
private String unit;
|
||||||
|
|
||||||
private String data;
|
private String data;
|
||||||
|
|
||||||
|
private String showName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,5 +34,6 @@ public class EleEvtParm {
|
|||||||
|
|
||||||
private String data;
|
private String data;
|
||||||
|
|
||||||
|
private String showName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,5 +43,14 @@ public class AppSendMsg {
|
|||||||
*/
|
*/
|
||||||
private String sendStatus;
|
private String sendStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送失败备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 短信模板
|
||||||
|
*/
|
||||||
|
private String template;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
import springfox.documentation.annotations.ApiIgnore;
|
import springfox.documentation.annotations.ApiIgnore;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 类的介绍:
|
* 类的介绍:
|
||||||
@@ -60,8 +61,12 @@ public class AppUserController extends BaseController {
|
|||||||
})
|
})
|
||||||
public HttpResult<String> authCode(String phone, String devCode, String type) {
|
public HttpResult<String> authCode(String phone, String devCode, String type) {
|
||||||
String methodDescribe = getMethodDescribe("authCode");
|
String methodDescribe = getMethodDescribe("authCode");
|
||||||
appUserService.setMessage(phone,devCode,type);
|
String code = appUserService.setMessage(phone,devCode,type);
|
||||||
|
if (Objects.equals(code,"OK")){
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "success", methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "success", methodDescribe);
|
||||||
|
} else {
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, "fail", methodDescribe);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public interface IAppUserService {
|
|||||||
* @param devCode 设备码
|
* @param devCode 设备码
|
||||||
* @param type 验证码类型
|
* @param type 验证码类型
|
||||||
*/
|
*/
|
||||||
void setMessage(String phone, String devCode, String type);
|
String setMessage(String phone, String devCode, String type);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 手机app注册(所有用户初始统一为游客,需要特定的码升级)
|
* 手机app注册(所有用户初始统一为游客,需要特定的码升级)
|
||||||
|
|||||||
@@ -68,12 +68,14 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, User> impleme
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void setMessage(String phone, String devCode, String type) {
|
public String setMessage(String phone, String devCode, String type) {
|
||||||
if (!PubUtils.match(PatternRegex.PHONE_REGEX, phone)){
|
if (!PubUtils.match(PatternRegex.PHONE_REGEX, phone)){
|
||||||
throw new BusinessException(UserResponseEnum.REGISTER_PHONE_WRONG);
|
throw new BusinessException(UserResponseEnum.REGISTER_PHONE_WRONG);
|
||||||
}
|
}
|
||||||
|
SendSmsResponse sendSmsResponse = null;
|
||||||
|
String msgTemplate = null;
|
||||||
|
String vcode = null;
|
||||||
try {
|
try {
|
||||||
String msgTemplate;
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case "0":
|
case "0":
|
||||||
msgTemplate = MessageEnum.getTemplateByCode(0);
|
msgTemplate = MessageEnum.getTemplateByCode(0);
|
||||||
@@ -148,11 +150,11 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, User> impleme
|
|||||||
request.setSignName("灿能云");
|
request.setSignName("灿能云");
|
||||||
//必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版
|
//必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版
|
||||||
request.setTemplateCode(msgTemplate);
|
request.setTemplateCode(msgTemplate);
|
||||||
String vcode = getMessageCode();
|
vcode = getMessageCode();
|
||||||
String code = "{\"code\":\"" + vcode + "\"}";
|
String code = "{\"code\":\"" + vcode + "\"}";
|
||||||
request.setTemplateParam(code);
|
request.setTemplateParam(code);
|
||||||
//请求失败这里会抛ClientException异常
|
//请求失败这里会抛ClientException异常
|
||||||
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
|
sendSmsResponse = acsClient.getAcsResponse(request);
|
||||||
String key = RedisKeyEnum.SMS_LOGIN_KEY.getKey() + phone;
|
String key = RedisKeyEnum.SMS_LOGIN_KEY.getKey() + phone;
|
||||||
if (sendSmsResponse.getCode() != null && "OK".equals(sendSmsResponse.getCode())) {
|
if (sendSmsResponse.getCode() != null && "OK".equals(sendSmsResponse.getCode())) {
|
||||||
//成功发送短信验证码后,保存进redis,验证码失效为5分钟
|
//成功发送短信验证码后,保存进redis,验证码失效为5分钟
|
||||||
@@ -160,20 +162,14 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, User> impleme
|
|||||||
} else {
|
} else {
|
||||||
throw new BusinessException(UserResponseEnum.SEND_CODE_FAIL);
|
throw new BusinessException(UserResponseEnum.SEND_CODE_FAIL);
|
||||||
}
|
}
|
||||||
AppSendMsg appSendMsg = new AppSendMsg();
|
//短信入库
|
||||||
appSendMsg.setPhone(phone);
|
addSendMessage(phone,vcode,msgTemplate,sendSmsResponse);
|
||||||
appSendMsg.setMessage(vcode);
|
|
||||||
appSendMsg.setSendTime(LocalDateTime.now());
|
|
||||||
appSendMsg.setSendStatus(sendSmsResponse.getCode() == null ? "无状态" : sendSmsResponse.getCode());
|
|
||||||
appSendMsgService.save(appSendMsg);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("发送短信异常,异常为:"+e.getMessage());
|
logger.error("发送短信异常,异常为:"+e.getMessage());
|
||||||
if (e.getMessage().length() < 10) {
|
//短信入库
|
||||||
throw new BusinessException(e.getMessage());
|
addSendMessage(phone,vcode,msgTemplate,sendSmsResponse);
|
||||||
} else {
|
|
||||||
throw new BusinessException(UserResponseEnum.SEND_CODE_FAIL);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return sendSmsResponse.getCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -338,6 +334,8 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, User> impleme
|
|||||||
* @param userId
|
* @param userId
|
||||||
*/
|
*/
|
||||||
public void sendPasswordMessage(String phone, String userId) {
|
public void sendPasswordMessage(String phone, String userId) {
|
||||||
|
SendSmsResponse sendSmsResponse = null;
|
||||||
|
String password = null;
|
||||||
String msgTemplate = MessageEnum.getTemplateByCode(3);
|
String msgTemplate = MessageEnum.getTemplateByCode(3);
|
||||||
//开始执行短信发送
|
//开始执行短信发送
|
||||||
//设置超时时间-可自行调整
|
//设置超时时间-可自行调整
|
||||||
@@ -365,30 +363,21 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, User> impleme
|
|||||||
request.setSignName("灿能云");
|
request.setSignName("灿能云");
|
||||||
//必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版
|
//必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版
|
||||||
request.setTemplateCode(msgTemplate);
|
request.setTemplateCode(msgTemplate);
|
||||||
String password = redisUtil.getStringByKey(userId);
|
password = redisUtil.getStringByKey(userId);
|
||||||
String code = "{\"pwd\":\"" + password + "\"}";
|
String code = "{\"pwd\":\"" + password + "\"}";
|
||||||
request.setTemplateParam(code);
|
request.setTemplateParam(code);
|
||||||
//请求失败这里会抛ClientException异常
|
//请求失败这里会抛ClientException异常
|
||||||
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
|
sendSmsResponse = acsClient.getAcsResponse(request);
|
||||||
if (sendSmsResponse.getCode() != null && "OK".equals(sendSmsResponse.getCode())) {
|
if (sendSmsResponse.getCode() != null && "OK".equals(sendSmsResponse.getCode())) {
|
||||||
//成功发送短信验证码后,删除用户密码信息
|
//成功发送短信验证码后,删除用户密码信息
|
||||||
redisUtil.delete(userId);
|
redisUtil.delete(userId);
|
||||||
} else {
|
} else {
|
||||||
throw new BusinessException(UserResponseEnum.SEND_CODE_FAIL);
|
throw new BusinessException(UserResponseEnum.SEND_CODE_FAIL);
|
||||||
}
|
}
|
||||||
AppSendMsg appSendMsg = new AppSendMsg();
|
addSendMessage(phone,password,msgTemplate,sendSmsResponse);
|
||||||
appSendMsg.setPhone(phone);
|
|
||||||
appSendMsg.setMessage(password);
|
|
||||||
appSendMsg.setSendTime(LocalDateTime.now());
|
|
||||||
appSendMsg.setSendStatus(sendSmsResponse.getCode() == null ? "无状态" : sendSmsResponse.getCode());
|
|
||||||
appSendMsgService.save(appSendMsg);
|
|
||||||
} catch (ClientException e) {
|
} catch (ClientException e) {
|
||||||
logger.error("发送短信异常,异常为:"+e.getMessage());
|
logger.error("发送短信异常,异常为:"+e.getMessage());
|
||||||
if (e.getMessage().length() < 10) {
|
addSendMessage(phone,password,msgTemplate,sendSmsResponse);
|
||||||
throw new BusinessException(e.getMessage());
|
|
||||||
} else {
|
|
||||||
throw new BusinessException(UserResponseEnum.SEND_CODE_FAIL);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -426,4 +415,18 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, User> impleme
|
|||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证码入库
|
||||||
|
*/
|
||||||
|
public void addSendMessage(String phone, String vcode, String template, SendSmsResponse sendSmsResponse) {
|
||||||
|
AppSendMsg appSendMsg = new AppSendMsg();
|
||||||
|
appSendMsg.setPhone(phone);
|
||||||
|
appSendMsg.setMessage(vcode);
|
||||||
|
appSendMsg.setSendTime(LocalDateTime.now());
|
||||||
|
appSendMsg.setSendStatus(sendSmsResponse.getCode() == null ? "无状态" : sendSmsResponse.getCode());
|
||||||
|
appSendMsg.setRemark(sendSmsResponse.getMessage());
|
||||||
|
appSendMsg.setTemplate(template);
|
||||||
|
appSendMsgService.save(appSendMsg);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user