PostSms.java 7.05 KB
package com.trash.common.utils.util;
import com.trash.common.utils.vo.ReqImsApi;
import com.trash.common.utils.vo.balance.JsonQueryBalance;
import com.trash.common.utils.vo.mo.JsonMo;
import com.trash.common.utils.vo.mt.JsonSmsSend;
import com.trash.common.utils.vo.mt.Mobile;
import com.trash.common.utils.vo.mt.SendSms;
import com.trash.common.utils.vo.rpt.JsonRpt;

import java.util.ArrayList;
import java.util.List;


public class PostSms {
  //查询发送
  public static int queryBalanceNum(){
		String userName = SmsConf.smsUserName;
		String password = SmsConf.smsPasswd;
		String signTime = SmsConf.getSysTime();
		int  balanceNum=0;
	  try{
		  String signStr = Md5Util.strToMD5(userName+ Md5Util.strToMD5(password)+signTime);
		  ReqImsApi reqImsApi = new ReqImsApi();
		  reqImsApi.setUserName(userName);
		  reqImsApi.setSignStr(signStr);
		  reqImsApi.setSignTime(signTime);
		  String reqJsonStr = JsonUtil.toJson(reqImsApi);
		  String resultJsonStr=SmsHttp.postJson(SmsConf.queyrbalanceUrl, reqJsonStr);
		  if(JsonUtil.isJsonStr(resultJsonStr)){
			 JsonQueryBalance jonQueryBalance= JsonUtil.returnObj(resultJsonStr, JsonQueryBalance.class);
			 if(jonQueryBalance!=null){
				balanceNum=jonQueryBalance.getBalance();
			 }
		  }
	  }catch(Exception e){e.printStackTrace();}
	  return balanceNum;
	}

//提交短信
public static JsonSmsSend sendSms(List<Mobile> mobileList, String smsStr){
	
	String userName = SmsConf.smsUserName;
	String password = SmsConf.smsPasswd;
	String signTime = SmsConf.getSysTime();
	JsonSmsSend jsonSmsSend=new JsonSmsSend();
	try{	
		String signStr = Md5Util.strToMD5(userName+ Md5Util.strToMD5(password)+signTime);
		if(smsStr!=null && !smsStr.isEmpty()){
		   if(mobileList!=null && !mobileList.isEmpty()){
				 if(PostSms.queryBalanceNum()>=mobileList.size()){
					 SendSms sendSms = new SendSms();
					 sendSms.setUserName(userName);
					 sendSms.setSignStr(signStr);
					 sendSms.setSignTime(signTime);
					 sendSms.setSignStr(signStr);
					 sendSms.setSmsStr(Base64Util.encodeData(smsStr));
					 sendSms.setMobileList(mobileList);
					 String reqJsonStr = JsonUtil.toJson(sendSms);
					 String resultJsonStr=SmsHttp.postJson(SmsConf.smsSendUrl, reqJsonStr);
					 if(JsonUtil.isJsonStr(resultJsonStr)){
					   jsonSmsSend= JsonUtil.returnObj(resultJsonStr, JsonSmsSend.class);
					 }else{
					   jsonSmsSend.setState(-1);
					   jsonSmsSend.setMessage(resultJsonStr);
					 }
				 }else{
					jsonSmsSend.setState(-1);
					jsonSmsSend.setMessage("账户余额不够");
				}
		   }else{
			 jsonSmsSend.setState(-1);
			 jsonSmsSend.setMessage("发送号码不能空");
		   }
	    }else{
			jsonSmsSend.setState(-1);
			jsonSmsSend.setMessage("发送内容不能空");
	    }
	}catch(Exception e){
		jsonSmsSend.setState(-1);
		jsonSmsSend.setMessage(e.toString());
		e.printStackTrace();}
	return jsonSmsSend;
}

//提交短信
public static JsonSmsSend sendSms(List<Mobile> mobileList, String smsStr,String c){
	
	String userName = SmsConf.smsUserName;
	String password = SmsConf.smsPasswd;
	String signTime = SmsConf.getSysTime();
	JsonSmsSend jsonSmsSend=new JsonSmsSend();
	try{	
		String signStr = Md5Util.strToMD5(userName+ Md5Util.strToMD5(password)+signTime);
		if(smsStr!=null && !smsStr.isEmpty()){
		   if(mobileList!=null && !mobileList.isEmpty()){
				 if(PostSms.queryBalanceNum()>=mobileList.size()){
					 SendSms sendSms = new SendSms();
					 sendSms.setUserName(userName);
					 sendSms.setSignStr(signStr);
					 sendSms.setSignTime(signTime);
					 sendSms.setSignStr(signStr);
					 sendSms.setSmsStr(Base64Util.encodeData(smsStr));
					 sendSms.setMobileList(mobileList);
					 sendSms.setSubcodeStr(c);
					 String reqJsonStr = JsonUtil.toJson(sendSms);
					 String resultJsonStr=SmsHttp.postJson(SmsConf.smsSendUrl, reqJsonStr);
					 if(JsonUtil.isJsonStr(resultJsonStr)){
					   jsonSmsSend= JsonUtil.returnObj(resultJsonStr, JsonSmsSend.class);
					 }else{
					   jsonSmsSend.setState(-1);
					   jsonSmsSend.setMessage(resultJsonStr);
					 }
				 }else{
					jsonSmsSend.setState(-1);
					jsonSmsSend.setMessage("账户余额不够");
				}
		   }else{
			 jsonSmsSend.setState(-1);
			 jsonSmsSend.setMessage("发送号码不能空");
		   }
	    }else{
			jsonSmsSend.setState(-1);
			jsonSmsSend.setMessage("发送内容不能空");
	    }
	}catch(Exception e){
		jsonSmsSend.setState(-1);
		jsonSmsSend.setMessage(e.toString());
		e.printStackTrace();}
	return jsonSmsSend;
}
	
//接收短信状态回执
public static JsonRpt getSmsRpt(){
	String userName = SmsConf.smsUserName;
	String password = SmsConf.smsPasswd;
	String signTime = SmsConf.getSysTime();
	JsonRpt jsonRpt=new JsonRpt();
	try{
	  String signStr = Md5Util.strToMD5(userName+ Md5Util.strToMD5(password)+signTime);
	  ReqImsApi reqImsApi = new ReqImsApi();
	  reqImsApi.setUserName(userName);
	  reqImsApi.setSignStr(signStr);
	  reqImsApi.setSignTime(signTime);		
	  String reqJsonStr = JsonUtil.toJson(reqImsApi);
	  String resultJsonStr=SmsHttp.postJson(SmsConf.smsRptUrl, reqJsonStr);
	  if(JsonUtil.isJsonStr(resultJsonStr)){
         jsonRpt= JsonUtil.returnObj(resultJsonStr, JsonRpt.class);
	  }else{
		  jsonRpt.setState(-1);
		  jsonRpt.setMessage(resultJsonStr);
	  }
	}catch(Exception e){
		jsonRpt.setMessage(e.toString());
		e.printStackTrace();
	 }
    return jsonRpt;
}

//接收短信上行
public static JsonMo getSmsMo(){
	String userName = SmsConf.smsUserName;
	String password = SmsConf.smsPasswd;
	String signTime = SmsConf.getSysTime();
	String balanceUrl=SmsConf.smsMoUrl;
	JsonMo jsonMo=new JsonMo();
	try{
	  String signStr = Md5Util.strToMD5(userName+ Md5Util.strToMD5(password)+signTime);
	  ReqImsApi reqImsApi = new ReqImsApi();
	  reqImsApi.setUserName(userName);
	  reqImsApi.setSignStr(signStr);
	  reqImsApi.setSignTime(signTime);		
	  String reqJsonStr = JsonUtil.toJson(reqImsApi);
	  String resultJsonStr=SmsHttp.postJson(balanceUrl, reqJsonStr);
	  if(JsonUtil.isJsonStr(resultJsonStr)){
		 jsonMo= JsonUtil.returnObj(resultJsonStr, JsonMo.class);
	  }else{
		  jsonMo.setState(-1);
		  jsonMo.setMessage(resultJsonStr);
	  }  
	}catch(Exception e){
		jsonMo.setMessage(e.toString());
		e.printStackTrace();}

	return jsonMo;
}
	
 public static void main(String arg[]) throws Exception {
	 //测试取余额
	 //L.p(""+PostSms.queryBalanceNum());
	 //测试发送
	 
		List<Mobile> mobileList = new ArrayList<Mobile>();
		Mobile mobile = new Mobile();
		mobile.setMobile("13974908181");
		mobileList.add(mobile);
		String smsStr="验证码1234";
		JsonSmsSend jsonSmsSend=sendSms(mobileList,smsStr);
//		if(jsonSmsSend!=null){
//			L.p(jsonSmsSend.getSmsId());
//		}
//测试取回执	 
 
//	 JsonRpt jsonRpt=getSmsRpt();
//	 L.p(""+jsonRpt.getMessage());
//	 List<SmsRpt> rptList=jsonRpt.getObject();
//	 if(rptList!=null && !rptList.isEmpty()){
//		 L.p(rptList.size()+"");
//	 }else{
//		 L.p("123");
//	 }
	 
//测试取上行
	 
// JsonMo jsonMo=getSmsMo(); 
// List<SmsMo> moList=jsonMo.getObject();
// System.out.println(""+jsonMo.getMessage());
// if(moList!=null && !moList.isEmpty()){
//	 System.out.println(""+moList.size());
// }else{
//	 System.out.println("123"); 
//	 }
	 
	 
	 
}	
	

}