Commit 2a4d9f43eb57d78f6dbabb9956aa393644730f29
1 parent
b4be8e98
优化短信日志相关逻辑
Showing
6 changed files
with
27 additions
and
5 deletions
src/main/java/cn/iocoder/dashboard/framework/sms/client/AliyunSmsClient.java
| ... | ... | @@ -5,6 +5,7 @@ import cn.iocoder.dashboard.framework.sms.core.SmsBody; |
| 5 | 5 | import cn.iocoder.dashboard.framework.sms.core.SmsResult; |
| 6 | 6 | import cn.iocoder.dashboard.framework.sms.core.SmsResultDetail; |
| 7 | 7 | import cn.iocoder.dashboard.framework.sms.core.property.SmsChannelProperty; |
| 8 | +import cn.iocoder.dashboard.modules.system.enums.sms.SmsSendStatusEnum; | |
| 8 | 9 | import com.aliyuncs.DefaultAcsClient; |
| 9 | 10 | import com.aliyuncs.IAcsClient; |
| 10 | 11 | import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest; |
| ... | ... | @@ -85,11 +86,21 @@ public class AliyunSmsClient extends AbstractSmsClient { |
| 85 | 86 | resultDetail.setCreateTime(DateUtil.parseDateTime(s.getSendDate())); |
| 86 | 87 | resultDetail.setMessage(s.getContent()); |
| 87 | 88 | resultDetail.setPhone(s.getPhoneNum()); |
| 88 | - resultDetail.setStatus(Math.toIntExact(s.getSendStatus())); | |
| 89 | + resultDetail.setStatus(statusConvert(s.getSendStatus())); | |
| 89 | 90 | resultDetailList.add(resultDetail); |
| 90 | 91 | }); |
| 91 | 92 | resultBody.setResult(resultDetailList); |
| 92 | 93 | return resultBody; |
| 93 | 94 | } |
| 94 | 95 | |
| 96 | + private int statusConvert(Long aliSendStatus) { | |
| 97 | + if (aliSendStatus == 1L) { | |
| 98 | + return SmsSendStatusEnum.SUCCESS.getStatus(); | |
| 99 | + } | |
| 100 | + if (aliSendStatus == 2L) { | |
| 101 | + return SmsSendStatusEnum.FAIL.getStatus(); | |
| 102 | + } | |
| 103 | + return SmsSendStatusEnum.WAITING.getStatus(); | |
| 104 | + } | |
| 105 | + | |
| 95 | 106 | } | ... | ... |
src/main/java/cn/iocoder/dashboard/framework/sms/core/SmsResult.java
src/main/java/cn/iocoder/dashboard/framework/sms/core/SmsResultDetail.java
src/main/java/cn/iocoder/dashboard/framework/sms/core/property/SmsTemplateProperty.java
| ... | ... | @@ -7,7 +7,7 @@ import javax.validation.constraints.NotEmpty; |
| 7 | 7 | |
| 8 | 8 | /** |
| 9 | 9 | * 渠道模板VO类 |
| 10 | - * TODO FROM 芋艿 TO zzf:模板是不是不要提供到 client 里面,而是交给 factory 统一维护就好。不然,模板修改时候,刷新 client 会比较麻烦。 | |
| 10 | + * TODO FROM 芋艿 TO zzf:模板是不是不要提供到 client 里面,而是交给 factory 统一维护就好。不然,模板修改时候,刷新 client 会比较麻烦。 DONE | |
| 11 | 11 | * |
| 12 | 12 | * |
| 13 | 13 | * @author zzf | ... | ... |
src/main/java/cn/iocoder/dashboard/modules/system/enums/sms/SmsSendStatusEnum.java
src/main/java/cn/iocoder/dashboard/modules/system/service/sms/impl/SysSmsLogServiceImpl.java
| ... | ... | @@ -59,6 +59,14 @@ public class SysSmsLogServiceImpl implements SysSmsLogService { |
| 59 | 59 | smsLog.setId(logId); |
| 60 | 60 | if (result.getSuccess()) { |
| 61 | 61 | smsLog.setSendStatus(SmsSendStatusEnum.SUCCESS.getStatus()); |
| 62 | + SysSmsLogDO smsLogDO = logMapper.selectById(logId); | |
| 63 | + result.getResult().forEach(s -> { | |
| 64 | + smsLogDO.setPhones(s.getPhone()); | |
| 65 | + smsLogDO.setSendStatus(s.getStatus()); | |
| 66 | + smsLogDO.setRemark(s.getMessage()); | |
| 67 | + smsLogDO.setCreateTime(s.getCreateTime()); | |
| 68 | + logMapper.insert(smsLogDO); | |
| 69 | + }); | |
| 62 | 70 | } else { |
| 63 | 71 | smsLog.setSendStatus(SmsSendStatusEnum.FAIL.getStatus()); |
| 64 | 72 | smsLog.setRemark(result.getMessage() + JsonUtils.toJsonString(result.getResult())); | ... | ... |