Commit c9f6494bb40a5a6d008f7366e0e9bbd9e88d4087

Authored by YunaiV
1 parent ae0227c1

【优化】修改短信模板的渠道为云片时,校验 API 模板编号为整数

yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/impl/yunpian/YunpianSmsClient.java
@@ -2,9 +2,11 @@ package cn.iocoder.yudao.framework.sms.core.client.impl.yunpian; @@ -2,9 +2,11 @@ package cn.iocoder.yudao.framework.sms.core.client.impl.yunpian;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.lang.Assert; 4 import cn.hutool.core.lang.Assert;
  5 +import cn.hutool.core.util.NumberUtil;
5 import cn.hutool.core.util.StrUtil; 6 import cn.hutool.core.util.StrUtil;
6 import cn.hutool.core.util.URLUtil; 7 import cn.hutool.core.util.URLUtil;
7 import cn.iocoder.yudao.framework.common.core.KeyValue; 8 import cn.iocoder.yudao.framework.common.core.KeyValue;
  9 +import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
8 import cn.iocoder.yudao.framework.sms.core.client.SmsCommonResult; 10 import cn.iocoder.yudao.framework.sms.core.client.SmsCommonResult;
9 import cn.iocoder.yudao.framework.sms.core.client.dto.SmsReceiveRespDTO; 11 import cn.iocoder.yudao.framework.sms.core.client.dto.SmsReceiveRespDTO;
10 import cn.iocoder.yudao.framework.sms.core.client.dto.SmsSendRespDTO; 12 import cn.iocoder.yudao.framework.sms.core.client.dto.SmsSendRespDTO;
@@ -12,7 +14,6 @@ import cn.iocoder.yudao.framework.sms.core.client.dto.SmsTemplateRespDTO; @@ -12,7 +14,6 @@ import cn.iocoder.yudao.framework.sms.core.client.dto.SmsTemplateRespDTO;
12 import cn.iocoder.yudao.framework.sms.core.client.impl.AbstractSmsClient; 14 import cn.iocoder.yudao.framework.sms.core.client.impl.AbstractSmsClient;
13 import cn.iocoder.yudao.framework.sms.core.enums.SmsTemplateAuditStatusEnum; 15 import cn.iocoder.yudao.framework.sms.core.enums.SmsTemplateAuditStatusEnum;
14 import cn.iocoder.yudao.framework.sms.core.property.SmsChannelProperties; 16 import cn.iocoder.yudao.framework.sms.core.property.SmsChannelProperties;
15 -import cn.iocoder.yudao.framework.common.util.json.JsonUtils;  
16 import com.fasterxml.jackson.annotation.JsonFormat; 17 import com.fasterxml.jackson.annotation.JsonFormat;
17 import com.fasterxml.jackson.annotation.JsonProperty; 18 import com.fasterxml.jackson.annotation.JsonProperty;
18 import com.google.common.annotations.VisibleForTesting; 19 import com.google.common.annotations.VisibleForTesting;
@@ -105,6 +106,9 @@ public class YunpianSmsClient extends AbstractSmsClient { @@ -105,6 +106,9 @@ public class YunpianSmsClient extends AbstractSmsClient {
105 @Override 106 @Override
106 protected SmsCommonResult<SmsTemplateRespDTO> doGetSmsTemplate(String apiTemplateId) throws Throwable { 107 protected SmsCommonResult<SmsTemplateRespDTO> doGetSmsTemplate(String apiTemplateId) throws Throwable {
107 return invoke(() -> { 108 return invoke(() -> {
  109 + if (!NumberUtil.isNumber(apiTemplateId)) {
  110 + throw new IllegalArgumentException("云片的 API 模板编号必须为整数");
  111 + }
108 Map<String, String> request = new HashMap<>(); 112 Map<String, String> request = new HashMap<>();
109 request.put(YunpianConstant.APIKEY, properties.getApiKey()); 113 request.put(YunpianConstant.APIKEY, properties.getApiKey());
110 request.put(YunpianConstant.TPL_ID, apiTemplateId); 114 request.put(YunpianConstant.TPL_ID, apiTemplateId);