java发送短信电话代码 java发送短信电话代码是什么
定义一个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
