Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
0c198e8f
提交
0c198e8f
authored
5月 15, 2020
作者:
cherishsince
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- 优化:增加注释,优化格式
上级
20e65bf2
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
4 行增加
和
20 行删除
+4
-20
AliYunSmsClient.java
.../iocoder/mall/system/biz/service/sms/AliYunSmsClient.java
+1
-8
SmsServiceImpl.java
...n/iocoder/mall/system/biz/service/sms/SmsServiceImpl.java
+0
-0
YunPianSmsClient.java
...iocoder/mall/system/biz/service/sms/YunPianSmsClient.java
+3
-12
没有找到文件。
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/service/sms/AliYunSmsClient.java
浏览文件 @
0c198e8f
...
...
@@ -80,7 +80,6 @@ public class AliYunSmsClient implements SmsClient {
request
.
putQueryParameter
(
"SignName"
,
sign
);
request
.
putQueryParameter
(
"TemplateCode"
,
templateCode
);
request
.
putQueryParameter
(
"TemplateParam"
,
JSON
.
toJSONString
(
templateParams
));
// 发送请求
return
doSend
(
request
);
}
...
...
@@ -88,19 +87,17 @@ public class AliYunSmsClient implements SmsClient {
@Override
public
SendResult
batchSend
(
List
<
String
>
mobileList
,
String
sign
,
String
templateCode
,
String
template
,
Map
<
String
,
String
>
templateParams
)
{
// 最大发送数为 1000,我们设置为 500 个, 分段发送
int
maxSendSize
=
MAX_BATCH_SIZE
;
int
maxSendSizeCount
=
mobileList
.
size
()
%
maxSendSize
==
0
?
mobileList
.
size
()
/
maxSendSize
:
mobileList
.
size
()
/
maxSendSize
+
1
;
// 处理批量
SendResult
sendResult
=
null
;
for
(
int
i
=
0
;
i
<
maxSendSizeCount
;
i
++)
{
// 分批发送
List
<
String
>
batchSendMobile
=
mobileList
.
subList
(
i
*
maxSendSize
,
(
i
+
1
)
*
maxSendSize
);
// params
CommonRequest
request
=
new
CommonRequest
();
request
.
setMethod
(
MethodType
.
POST
);
...
...
@@ -111,7 +108,6 @@ public class AliYunSmsClient implements SmsClient {
request
.
putQueryParameter
(
"SignNameJson"
,
JSON
.
toJSONString
(
Collections
.
singletonList
(
sign
)));
request
.
putQueryParameter
(
"TemplateCode"
,
templateCode
);
request
.
putQueryParameter
(
"TemplateParamJson"
,
JSON
.
toJSONString
(
Collections
.
singletonList
(
templateParams
)));
// 发送请求
sendResult
=
doSend
(
request
);
}
...
...
@@ -125,9 +121,7 @@ public class AliYunSmsClient implements SmsClient {
CommonResponse
response
=
client
.
getCommonResponse
(
request
);
Result
result
=
JSON
.
parseObject
(
response
.
getData
(),
Result
.
class
);
if
(!
SUCCESS_CODE
.
equals
(
result
.
getCode
()))
{
LOGGER
.
info
(
"发送验证码失败 params {} res {}"
,
JSON
.
toJSON
(
request
),
JSON
.
toJSON
(
result
));
// 错误发送失败
return
new
SendResult
()
.
setIsSuccess
(
false
)
...
...
@@ -135,7 +129,6 @@ public class AliYunSmsClient implements SmsClient {
.
setMessage
(
result
.
getMessage
());
}
else
{
LOGGER
.
info
(
"发送验证码失败 params {} res"
,
JSON
.
toJSON
(
request
),
JSON
.
toJSON
(
result
));
// 发送成功
return
new
SendResult
()
.
setIsSuccess
(
true
)
...
...
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/service/sms/SmsServiceImpl.java
浏览文件 @
0c198e8f
差异被折叠。
点击展开。
system/system-biz/src/main/java/cn/iocoder/mall/system/biz/service/sms/YunPianSmsClient.java
浏览文件 @
0c198e8f
...
...
@@ -88,7 +88,6 @@ public class YunPianSmsClient implements SmsClient {
*/
private
static
final
String
URL_SEND_BATCH
=
"https://sms.yunpian.com/v2/sms/batch_send.json"
;
//编码格式。发送编码格式统一用UTF-8
private
static
String
ENCODING
=
"UTF-8"
;
...
...
@@ -99,7 +98,6 @@ public class YunPianSmsClient implements SmsClient {
public
SendResult
singleSend
(
String
mobile
,
String
sign
,
String
templateCode
,
String
template
,
Map
<
String
,
String
>
templateParams
)
{
// build 模板
template
=
buildTemplate
(
sign
,
template
,
templateParams
);
// 请求参数
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
params
.
put
(
"apikey"
,
apiKey
);
...
...
@@ -114,7 +112,7 @@ public class YunPianSmsClient implements SmsClient {
throw
new
ServiceException
(
SystemErrorCodeEnum
.
SMS_PLATFORM_FAIL
.
getCode
(),
jsonObject
.
getString
(
"detail"
));
}
// 转换 result
return
new
SendResult
()
.
setIsSuccess
(
SUCCESS_CODE
==
jsonObject
.
getInteger
(
"code"
))
.
setCode
(
jsonObject
.
getInteger
(
"code"
))
...
...
@@ -127,7 +125,6 @@ public class YunPianSmsClient implements SmsClient {
Map
<
String
,
String
>
templateParams
)
{
// build 模板
template
=
buildTemplate
(
sign
,
template
,
templateParams
);
// 最大发送数为 1000,我们设置为 500 个, 分段发送
int
maxSendSize
=
MAX_BATCH_SIZE
;
int
maxSendSizeCount
=
mobileList
.
size
()
%
maxSendSize
==
0
...
...
@@ -142,9 +139,7 @@ public class YunPianSmsClient implements SmsClient {
sendMobileStr
.
append
(
","
);
sendMobileStr
.
append
(
mobileList
.
get
(
k
));
}
String
dividedMobile
=
sendMobileStr
.
toString
().
substring
(
1
);
// 发送手机号
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
params
.
put
(
"apikey"
,
apiKey
);
...
...
@@ -159,12 +154,10 @@ public class YunPianSmsClient implements SmsClient {
throw
new
ServiceException
(
SystemErrorCodeEnum
.
SMS_PLATFORM_FAIL
.
getCode
(),
jsonObject
.
getString
(
"detail"
));
}
// 用于递增 maxSendSize
j
=
j2
;
j2
=
j
+
maxSendSize
;
}
return
new
SendResult
()
.
setIsSuccess
(
true
)
.
setCode
(
SUCCESS_CODE
)
...
...
@@ -181,18 +174,17 @@ public class YunPianSmsClient implements SmsClient {
*/
private
static
String
buildTemplate
(
String
sign
,
String
template
,
Map
<
String
,
String
>
templateParams
)
{
// 不处理 empty 数据
if
(
CollectionUtils
.
isEmpty
(
templateParams
))
{
return
template
;
}
// 处理template参数
for
(
Map
.
Entry
<
String
,
String
>
entry
:
templateParams
.
entrySet
())
{
String
paramsKey
=
entry
.
getKey
();
String
value
=
entry
.
getValue
();
String
paramPlace
=
String
.
format
(
PARAM_TEMPLATE
,
paramsKey
);
template
=
template
.
replaceAll
(
paramPlace
,
value
);
}
template
=
String
.
format
(
SIGN_TEMPLATE
,
sign
,
template
);
return
template
;
}
...
...
@@ -234,7 +226,6 @@ public class YunPianSmsClient implements SmsClient {
e
.
printStackTrace
();
}
}
LOGGER
.
debug
(
"云片短信平台 res: {}"
,
responseText
);
return
responseText
;
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论