aliyun短信发送详情接口实现代码

5 篇文章 0 订阅
5 篇文章 0 订阅
在调用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]]


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]中的阿里云服务官方文档,您可以通过以下步骤来创建一个阿里云发送的工具类: 1. 开通阿里云账号并登录,然后申请一个子权限账户,并授予该账户服务管理的权限。 2. 在服务控制台中申请签名和模板,具体的规则可以参考审核标准。 3. 根据接收对象的不同,选择相应的签名和模板。 4. 调用阿里云服务的接口发送。 在编写工具类时,您可以使用引用\[2\]中提供的阿里云依赖,即aliyun-java-sdk-core和aliyun-java-sdk-dysmsapi。您可以在您的项目中添加这两个依赖,并按照官方文档提供的示例代码来调用阿里云服务的接口。 如果您需要同时向多个不同的手机号码发送不同签名的,可以参考引用\[3\]中的文档,该文档提供了相关的参考息。 请注意,以上是一个简要的概述,具体的实现细节和代码编写需要根据您的具体需求和项目环境进行调整。建议您参考阿里云服务的官方文档和示例代码来完成您的工具类的编写。 #### 引用[.reference_title] - *1* *3* [阿里云服务工具类](https://blog.csdn.net/qq_40147276/article/details/93724745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【阿里云】服务 无认证 测试版本 附带发送工具类](https://blog.csdn.net/SPX113/article/details/125862420)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值