Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
d126095e
Commit
d126095e
authored
Aug 29, 2019
by
hezhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
123
parent
413cf131
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
50 deletions
+20
-50
SmsService.java
.../java/com/xxfc/platform/universal/service/SmsService.java
+20
-50
No files found.
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/service/SmsService.java
View file @
d126095e
...
...
@@ -3,6 +3,8 @@ package com.xxfc.platform.universal.service;
import
com.alibaba.fastjson.JSONObject
;
import
com.aliyuncs.DefaultAcsClient
;
import
com.aliyuncs.IAcsClient
;
import
com.aliyuncs.dysmsapi.model.v20170525.SendBatchSmsRequest
;
import
com.aliyuncs.dysmsapi.model.v20170525.SendBatchSmsResponse
;
import
com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest
;
import
com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse
;
import
com.aliyuncs.exceptions.ClientException
;
...
...
@@ -43,6 +45,7 @@ public class SmsService {
//短信模板id
static
final
String
TemplateCode
=
SystemConfig
.
TEMPLATECODE
;
static
final
String
TemplateParam
=
"{\"code\":\"str\"}"
;
static
final
String
param
=
"param"
;
public
JSONObject
smsCode
(
String
mobile
){
...
...
@@ -168,9 +171,11 @@ public class SmsService {
DefaultProfile
.
addEndpoint
(
"cn-hangzhou"
,
"cn-hangzhou"
,
product
,
domain
);
IAcsClient
acsClient
=
new
DefaultAcsClient
(
profile
);
//组装请求对象-具体描述见控制台-文档部分内容
SendSmsRequest
request
=
new
SendSmsRequest
();
//必填:待发送手机号
//组装请求对象
SendSmsRequest
request
=
new
SendSmsRequest
();
//使用post提交
request
.
setMethod
(
MethodType
.
POST
);
//必填:待发送手机号。支持JSON格式的批量调用,批量上限为100个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
request
.
setPhoneNumbers
(
PhoneNumbers
);
//必填:短信签名-可在短信控制台中找到
request
.
setSignName
(
SignName
);
...
...
@@ -186,7 +191,7 @@ public class SmsService {
//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
//request.setOutId("yourOutId");
//hint 此处可能会抛出异常,注意catch
SendSmsResponse
sendSmsResponse
=
acsClient
.
getAcsResponse
(
request
);
SendSmsResponse
sendSmsResponse
=
acsClient
.
getAcsResponse
(
request
);
log
.
info
(
"短信接口返回的数据----------------mobile======"
+
PhoneNumbers
+
"----templateParam===="
+
params
);
log
.
info
(
"Code="
+
sendSmsResponse
.
getCode
());
log
.
info
(
"Message="
+
sendSmsResponse
.
getMessage
());
...
...
@@ -200,60 +205,25 @@ public class SmsService {
return
false
;
}
public
String
getString
(
Map
<
String
,
Object
>
params
){
if
(
params
!=
null
)
{
StringBuilder
sb
=
new
StringBuilder
(
"{"
);
for
(
Object
o
:
params
.
keySet
())
{
sb
.
append
(
"\""
+
o
+
"\""
+
":"
+
"\""
+
params
.
get
(
o
)
+
"\""
+
","
);
public
void
sendTemplateToJson
(
String
PhoneNumbers
,
String
[]
params
,
String
templateCode
){
try
{
JSONObject
jsonParams
=
new
JSONObject
(
);
for
(
int
i
=
0
;
i
<
params
.
length
;
i
++)
{
jsonParams
.
put
(
param
+
i
+
1
,
params
[
i
]
);
}
sb
.
replace
(
sb
.
length
()
-
1
,
sb
.
length
(),
"}"
);
return
sb
.
toString
();
sendTemplate
(
PhoneNumbers
,
jsonParams
.
toJSONString
(),
templateCode
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
return
null
;
}
}
/* public static QuerySendDetailsResponse querySendDetails(String bizId) throws ClientException {
//可自助调整超时时间
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
//初始化acsClient,暂不支持region化
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
//组装请求对象
QuerySendDetailsRequest request = new QuerySendDetailsRequest();
//必填-号码
request.setPhoneNumber("15000000000");
//可选-流水号
request.setBizId(bizId);
//必填-发送日期 支持30天内记录查询,格式yyyyMMdd
SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");
request.setSendDate(ft.format(new Date()));
//必填-页大小
request.setPageSize(10L);
//必填-当前页码从1开始计数
request.setCurrentPage(1L);
//hint 此处可能会抛出异常,注意catch
QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);
return querySendDetailsResponse;
}
*/
public
static
void
main
(
String
[]
args
)
throws
ClientException
,
InterruptedException
{
SmsService
smsService
=
new
SmsService
();
//发短信
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"name"
,
"何振"
);
params
.
put
(
"code"
,
"123456"
);
params
.
put
(
"time"
,
5
);
params
.
put
(
"other"
,
"何振2"
);
smsService
.
sendTemplate
(
"13612688539"
,
"123"
,
"SMS_171112286"
);
String
[]
params
={
"1"
,
"2"
,
"3"
,
"4"
,
"5"
};
smsService
.
sendTemplateToJson
(
"13612688539"
,
params
,
"123"
);
/*System.out.println("短信接口返回的数据----------------");
System.out.println("Code=" + response.getCode());
System.out.println("Message=" + response.getMessage());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment