在调用aliyun短信发送详情服务接口时要企业申请服务才能开通下面是短信服务接口详细代码(PS:代码如有不详细之处请留言告知谢谢!)缺少一个实体类请自行解决(sdk:https://help.aliyun.com/document_detail/55359.html?spm=a2c4g.11186623.6.584.J92lhe):
List<AliyunShortMessageSendDatailsModels> smsSendDatail = null;
try{
int total;//总页数
int i=0;//循环次数
long PageSize = 50L;//页大小Max50
do{
System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); //设置超时时间
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
//初始化ascClient
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", AliyunSmsBase.accessKeyID, AliyunSmsBase.AccessKeySecret);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", AliyunSmsBase.product, AliyunSmsBase.domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
QuerySendDetailsRequest request = new QuerySendDetailsRequest(); //组装请求对象
request.setPhoneNumber("17**********");//必填-号码
// request.setBizId("1234567^8901234");//可选-调用发送短信接口时返回的BizId
request.setSendDate("20180318");//必填-短信发送的日期 支持30天内记录查询(可查其中一天的发送数据),格式yyyyMMdd
request.setPageSize(PageSize);//必填-页大小
request.setCurrentPage((long) i+1);//必填-当前页码从1开始计数
//hint 此处可能会抛出异常,注意catch
QuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);
total = (int) (Integer.valueOf(querySendDetailsResponse.getTotalCount()) <= PageSize?1:
Integer.valueOf(querySendDetailsResponse.getTotalCount())%PageSize == 0?
Integer.valueOf(querySendDetailsResponse.getTotalCount())/PageSize:
(Integer.valueOf(querySendDetailsResponse.getTotalCount())/PageSize+1));
logger.info(querySendDetailsResponse.getTotalCount());
smsSendDatail = aliyunResultParam(querySendDetailsResponse.getSmsSendDetailDTOs());
i++;
}while(i < total);
}catch(Exception e){
e.printStackTrace();
}
return smsSendDatail;
}
public List<AliyunShortMessageSendDatailsModels> aliyunResultParam(List<SmsSendDetailDTO> smsDatail){
List<AliyunShortMessageSendDatailsModels> smsDatailList = new ArrayList<AliyunShortMessageSendDatailsModels>();
if(!smsDatail.isEmpty() && smsDatail.size()!=0 ){
for(SmsSendDetailDTO sendDatail:smsDatail){
AliyunShortMessageSendDatailsModels smsDatailModel = new AliyunShortMessageSendDatailsModels();
smsDatailModel.setId(IdGenerator.newId());
smsDatailModel.setSmsContent(sendDatail.getContent());
smsDatailModel.setSmSendDate(sendDatail.getSendDate());
smsDatailModel.setSmSendStatus(sendDatail.getSendStatus());
smsDatailModel.setPhoneNum(sendDatail.getPhoneNum());
smsDatailModel.setSmsReceiveDate(sendDatail.getReceiveDate());
smsDatailModel.setErrCode(sendDatail.getErrCode());
smsDatailModel.setSmsOutId(sendDatail.getOutId());
logger.info("aliyun短信返回结果Datails[{}]",smsDatailModel.toString());
smsDatailList.add(smsDatailModel);
}
}
return smsDatailList;
}
[INFO ] [2018-03-18 14:28:42] me.ywork.aliyun.sms.service.AliyunSmSendResultDatailRpcImpl - aliyun短信返回结果Datails[AliyunShortMessageSendDatailsModels [id=16237cbbfd8c334a**********4498b95613, smsOutId=**********, smsContent=********,请点击查看详情http://din*****8om/sv/v?b=50a9899ec9qwf/, smSendDate=2018-03-18 14:08:08, smSendStatus=3, phoneNum=177****, smsReceiveDate=2018-03-18 14:08:27, smsTemplateCode=null, errCode=000]]