首页后端开发JAVAjava发送短信电话代码 java发送短信电话代码是什么

java发送短信电话代码 java发送短信电话代码是什么

时间2023-04-21 13:18:02发布访客分类JAVA浏览428
导读:定义一个Java手机接口,打电话,接电话,发短信,接受短信的功能 public interface Calling { /** * * @param callPhoneNo 主叫号码 * @param calledPhoneNo 被...

定义一个Java手机接口,打电话,接电话,发短信,接受短信的功能

public interface Calling {

/**

*

* @param callPhoneNo 主叫号码

* @param calledPhoneNo 被叫号码

* @return 返回接电话成功失败标识

*/

public int callIn(String callPhoneNo,String calledPhoneNo);

/**

*

* @param calledPhoneNo 被叫号码

* @param callPhoneNo 主叫号码

* @return返回打电话成功失败标识

*/

public int callOut(String calledPhoneNo,String callPhoneNo);

/**

*

* @param calledPhoneNo 接收短信号码

* @param callPhoneNo发送短信号码

* @param content 短信内容

* @return 发送短信成功标识

*/

public int sendMsg(String calledPhoneNo,String callPhoneNo,String content);

/**

*

* @param callPhoneNo 发送短信号码

* @param calledPhoneNo 接收短信号码

* @param content 短信内容

* @return 接收短信成功标识

* 备注:其实不用这个接口也可以,发送短信是将短信保存至短信发送表,然后有进程实时扫描数据,然后发送

*/

public int reciveMsg(String callPhoneNo,String calledPhoneNo,String content);

}

java发送手机短信

package com.winhands.quartz;

import java.io.PrintWriter;

import java.io.StringWriter;

import java.io.UnsupportedEncodingException;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import com.winhands.base.service.BaseService;

import com.winhands.util.BaseConstant;

import com.winhands.web.dict.entity.DictCommon;

import com.winhands.web.xfhf.entity.SmsOutBox;

import com.winhands.web.xfhf.entity.SmsVisit;

import com.winhands.web.xfhf.entity.TaskInfo;

public class SmsSendSync {

public BaseService baseService;

public BaseService baseServiceMas;

public static final Logger logger = LoggerFactory.getLogger(SmsSendSync.class);

//同步短信到mas机待发短信表

public void work() {

// 任务ID 100001

// 首先查询任务是否正在执行

// 查询列表

TaskInfo taskInfo = new TaskInfo();

taskInfo.setTask_id("100001");

try {

taskInfo = (TaskInfo) baseService.queryForObject("sms_send.queryTaskStatus", taskInfo);

//如果状态是处室状态则执行,否则此次任务不执行

if (BaseConstant.task_status_cs.equals(taskInfo.getTask_status())) {

taskInfo.setTask_status(BaseConstant.task_status_zx); //设置任务执行状态为执行

taskInfo.setTask_last_start_time(new Date()); //设置任务执行开始时间

baseService.update("sms_send.updateTaskStatus", taskInfo); //

//移动号码库

HashMapString,String hashMap = new HashMapString,String();

//134 、135、136、137、138、139、150、151、152、158、159、182、183、184。157、187、188

hashMap.put("134", "134");

hashMap.put("135", "135");

hashMap.put("136", "136");

hashMap.put("137", "137");

hashMap.put("138", "138");

hashMap.put("139", "139");

hashMap.put("150", "150");

hashMap.put("151", "151");

hashMap.put("152", "152");

hashMap.put("157", "157");

hashMap.put("158", "158");

hashMap.put("159", "159");

hashMap.put("182", "182");

hashMap.put("183", "183");

hashMap.put("184", "184");

hashMap.put("187", "187");

hashMap.put("188", "188");

SmsVisit smsSend = new SmsVisit();

smsSend.setSms_status(BaseConstant.sms_status_csh);

List list = baseService.queryForList("sms_send.queryForSmsTask", smsSend);

List smsMasList = new ArrayList();

List smsList = new ArrayList();

if (list == null||list.size()==0) return; // 如果列表为空,没有待办任务,则任务结束

for (int i = 0;  i  list.size();  i++) {

smsSend = (SmsVisit) list.get(i);

//String msg = messagecontent(smsSend);

String msg = smsSend.getSpare_2();

if(hashMap.get(smsSend.getVisit_phone().substring(0, 3))!=null){

                     SmsOutBox smsOutBox = new SmsOutBox();

     smsOutBox.setSismsid(smsSend.getP_id());

     smsOutBox.setReqdeliveryreport(BaseConstant.NoReport);

     smsOutBox.setApplicationid(BaseConstant.APPLICATIONID);

     smsOutBox.setDestaddr(smsSend.getVisit_phone());

     smsOutBox.setMsgfmt(BaseConstant.MSGFMT);

     smsOutBox.setRequesttime(new Date());

     smsOutBox.setExtcode(smsSend.getExtccode());

     smsOutBox.setSendmethod(BaseConstant.NoMsg); // 正常短信

                     smsOutBox.setMessagecontent(msg);

                     smsMasList.add(smsOutBox);

} else{

boolean con = true;

String lastMsg = msg;

int xh =0;

while(con){

lastMsg = msg.substring(0,msg.length()  55 ? 55 : msg.length());

msg = msg.substring(msg.length()  55 ? 55 : msg.length(),msg.length());

if (msg.equals("")) {

con = false;

}

SmsOutBox smsOutBox = new SmsOutBox();

     smsOutBox.setSismsid(smsSend.getP_id()+(xh==0?"":xh));

     xh++;

     smsOutBox.setReqdeliveryreport(BaseConstant.NoReport);

     smsOutBox.setApplicationid(BaseConstant.APPLICATIONID);

     smsOutBox.setDestaddr(smsSend.getVisit_phone());

     smsOutBox.setMsgfmt(BaseConstant.MSGFMT);

     smsOutBox.setRequesttime(new Date());

     smsOutBox.setExtcode(smsSend.getExtccode());

     smsOutBox.setSendmethod(BaseConstant.NoMsg); // 正常短信

                     smsOutBox.setMessagecontent(lastMsg);

                        smsMasList.add(smsOutBox);

}

}

    SmsVisit smsSendTemp = new SmsVisit();

smsSendTemp.setP_id(smsSend.getP_id());  

//smsSendTemp.setSpare_2(msg); //短信内容

smsSendTemp.setSms_status_time(new Date());

smsSendTemp.setSms_status(BaseConstant.sms_status_yfswg);  

    smsList.add(smsSendTemp);

}

baseService.insertBatch("sms_send.insertSmsOutBox", smsMasList); //插入本地历史记录表

baseServiceMas.insertBatch("sms_mas.insertSmsOutBox", smsMasList); //插入mas机待发送表

baseService.updateBatch("sms_send.updateSmsVisit", smsList); //更新回访记录状态

}

}  catch (Exception e) {

e.printStackTrace();

//baseService.saveLog("同步短信到mas机待发短信表", "100001", "同步短信到mas机待发短信表错误");

logger.error("同步短信到mas机待发短信表错误", getTrace(e));

} finally{

try {

taskInfo.setTask_status(BaseConstant.task_status_cs); //设置任务执行状态为初始

taskInfo.setTask_last_end_time(new Date()); //设置任务执行结束时间

taskInfo.setTask_status_desc("任务执行结束");

baseService.update("sms_send.updateTaskStatus", taskInfo); //

}  catch (Exception e2) {

e2.printStackTrace();

// TODO: handle exception

}

}

}

public String messagecontent(SmsVisit smsSend){

//XX,您好!您于XX月XX日办理XX业务(或XX,您好!XX大队于XX月XX日对你单位进行监督检查/行政处罚/火灾调查),现进行满意度回访,请回复数字:1为满意;2为基本满意;3为不满意。感谢您对消防工作的支持!回复免费。宿迁市公安消防支队

//首先根据业务类型来判断采用哪种模板 监察

StringBuffer msg = new StringBuffer("");  

if(BaseConstant.jiancha.equals(smsSend.getVisit_deal_business_type())){

msg.append(smsSend.getVisit_name_cn())

   .append(",您好!")

   .append(smsSend.getVisit_deal_org_name())

   .append("于")

   .append(smsSend.getVisit_deal_time().substring(4, 6)).append("月")

   .append(smsSend.getVisit_deal_time().substring(6, 8)).append("日")

   .append("对你单位进行").append(DictCommon.getEntryMap(BaseConstant.jiancha).get(smsSend.getVisit_deal_business()))

   .append(",现进行满意度回访,请回复数字:1为满意;2为基本满意;3为不满意。感谢您对消防工作的支持!");

} else if(BaseConstant.yewu.equals(smsSend.getVisit_deal_business_type())){

msg.append(smsSend.getVisit_name_cn())

   .append(",您好!您于")

   .append(smsSend.getVisit_deal_time().substring(4, 6)).append("月")

   .append(smsSend.getVisit_deal_time().substring(6, 8)).append("日")

   .append("办理").append(smsSend.getVisit_deal_business()).append("业务,")

   .append("现进行满意度回访,请回复数字:1为满意;2为基本满意;3为不满意。感谢您对消防工作的支持!");

}

return msg.toString();

}

public BaseService getBaseService() {

return baseService;

}

public void setBaseService(BaseService baseService) {

this.baseService = baseService;

}

public BaseService getBaseServiceMas() {

return baseServiceMas;

}

public void setBaseServiceMas(BaseService baseServiceMas) {

this.baseServiceMas = baseServiceMas;

}

public static void main(String[] args){

List smsMasList = new ArrayList();  

try {

String msg = "***,您好!*********于2015年5月2日对你单位进行监督检查,现进行满意度回访,请回复数字:1为满意;2为基本满意;3为不满意。感谢您对消防工作的支持!";

SmsOutBox smsOutBox = new SmsOutBox();

smsOutBox.setSismsid("12344");

smsOutBox.setReqdeliveryreport(BaseConstant.NoReport);

smsOutBox.setApplicationid(BaseConstant.APPLICATIONID);

smsOutBox.setDestaddr("111");

smsOutBox.setMsgfmt(BaseConstant.MSGFMT);

smsOutBox.setRequesttime(new Date());

smsOutBox.setExtcode("2222");

smsOutBox.setSendmethod(BaseConstant.NoMsg); // 正常短信

boolean con = true;

String lastMsg = msg;

while(con){

lastMsg = msg.substring(0,msg.length()  55 ? 55 : msg.length());

msg = msg.substring(msg.length()  55 ? 55 : msg.length(),msg.length());

if (msg.equals("")) {

con = false;

}

SmsOutBox smOutBox_temp = new SmsOutBox();  

smOutBox_temp = smsOutBox;

smOutBox_temp.setMessagecontent(lastMsg);

 

smsMasList.add(smOutBox_temp);

}

    for(Object o:smsMasList){

     SmsOutBox smsOutBox2 = (SmsOutBox)o;

     System.out.println(smsOutBox2.getMessagecontent());

    }

}  catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static String getTrace(Throwable t) {

        StringWriter stringWriter= new StringWriter();

        PrintWriter writer= new PrintWriter(stringWriter);

        t.printStackTrace(writer);

        StringBuffer buffer= stringWriter.getBuffer();

        return buffer.toString();

    }

}

短信不是你想发  想发就能发,是收费的,我们公司是租用的移动MAS平台的短信发送接收平台,上面那是和一个和mas同步的一个小程序,租用别人的mas平台是收费的,平台有很多自己选择,有发送接口可以调,发送内容自己提供

用Java调用短信接口给手机发送短信怎么写代码??接口已经有了,是一个url.

那你要做的就是向这个URL发送数据就好,给个例子:

public   class  Httptest1  {

 8  

 9       public   static   void  main(String[] args)  {

10  

11         URL url  =   null ;

12         HttpURLConnection conn  =   null ;

13         OutputStream outStream  =   null ;

14         InputStream inStream  =   null ;

15         

16           try   {

17             url  =   new  URL( "  " );

18             conn  =  (HttpURLConnection) url.openConnection();

19             conn.setDoOutput( true );

20             conn.setDoInput( true );

21  

22             String sendXml  =   " ?xml version=\ " 1.0 \ "  encoding=\ " UTF - 16 \ " ?!DOCTYPE SigMailCommand SYSTEM \ " SigMail.dtd\ " " ;   // XML数据     

23              sendXml  +=   " SigMailCommand Name=\ " checkuser\ " Param Name=\ " domainname\ " test点抗点吸烟/Param " ;

24             sendXml  +=   " Param Name=\ " username\ " admin/Param/SigMailCommand " ;

25  

26             outStream  =  conn.getOutputStream();

27  

28              // 准备通过CONN对象写入XML数据 

29              BufferedWriter bw  =   new  BufferedWriter( new  java.io.OutputStreamWriter(outStream,

30              " UTF-16 " ));

31             bw.write(sendXml);

32             bw.flush();

33             bw.close();

34             

35              // DataOutputStream dataOutStream = new DataOutputStream(outStream);

36              // dataOutStream.writeChars(xml);

37              // dataOutStream.flush();

38              // dataOutStream.close();

39             

40  

41              // 准备通过CONN对象读取返回的XML数据 

42  

43             inStream  =  conn.getInputStream();

44             StringBuffer returnXml  =   new  StringBuffer( "" );

45             BufferedReader rd  =   new  BufferedReader( new  InputStreamReader(inStream,

46                      " UTF-16 " ));

47               for  (String line  =   null ;  (line  =  rd.readLine())  !=   null ; )  {

48                 returnXml.append(line);

49             }  

50             System.out.println(returnXml.toString());

51             rd.close();

52          }    catch  (IOException ex)  {

53             ex.printStackTrace();

54          }  finally {

55               try   {

56                  if  (outStream  !=   null )

57                     outStream.close();

58                  if  (inStream  !=   null )

59                     inStream.close();

60                  if  (conn  !=   null )

61                     conn.disconnect();

62              }    catch  (IOException e)  {

63                  //  TODO 自动生成 catch 块 

64                  e.printStackTrace();

65             }  

66         }  

67  

68     }  

69  

70 }

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: java发送短信电话代码 java发送短信电话代码是什么
本文地址: https://pptw.com/jishu/4474.html
自动售货机代码java循环选择 编写自动售货机程序 java实现照相代码 java代码照片

游客 回复需填写必要信息