给移动做项目找的短信发送网关

package com.sttri.message.action;

import java.io.UnsupportedEncodingException;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sttri.chinamobile.action.ChinaMobileSend;
import com.sttri.chinaunicom.action.ChinaUnicomSend;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.procedure.hibernate.oracle10.getHibernateTemplate.model.VideoMessage;
import com.procedure.org.framework.service.message.MessageService;
import com.procedure.util.date.DateImpl;
import com.sttri.soap.TelePhoneValidate;

/**
 *Mar 7, 2007
 * Zhou JianGuo
 * 小白
 * 中国电信上海技术研究院
 * MSN:zhuojianguo_leo@hotmail.com
 */
public class SendAction extends Action {

 /**
  *
  */
 protected final Log logger = LogFactory.getLog(getClass().getName());
 
 public SendAction() {
  // TODO Auto-generated constructor stub
 }

 MessageService messageService;

 public MessageService getMessageService() {
  return messageService;
 }

 public void setMessageService(MessageService messageService) {
  this.messageService = messageService;
 }

 public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest req,HttpServletResponse res)
 {
  logger.info("通过URL方式,开始发送短信...");
  //提取用户号,目标手机号码,短消息内容,触发的事件
  VideoMessage videoMessage=new VideoMessage();
  String USERNO="TEST01";//req.getParameter("USERNO");
  String addr=req.getParameter("addr");
  String str=req.getParameter("message");
  String event="EVENT01";//req.getParameter("event");
  String cpycde="SH";//req.getParameter("SH");
  String orgcde="SH01";//req.getParameter("SHO1");
  String sn;
  Map map;
  String model;
  try
  {
   try {
    str=new String(str.getBytes("ISO-8859-1"),"GBK");
   } catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    logger.info("编码不支持!"+e);
   }
   model=TelePhoneValidate.getInstance().validate(addr);
   java.sql.Date beginTime=java.sql.Date.valueOf(DateImpl.getInstance().getDate());
   if(model.equals("01"))
   {
    sn=ChinaMobileSend.getInstance().send(addr, str);
    
    /*
     * 保存到数据库
     */
    videoMessage.setEvent(event);
    videoMessage.setUserno(USERNO);
    videoMessage.setTelephone(addr);
    videoMessage.setContext(str);
    videoMessage.setSn(sn);
    videoMessage.setType("移动");
    videoMessage.setBegindatime(beginTime);
    messageService.persistVideoMessage(videoMessage);
    logger.info("移动短信保存成功!");
   }else if(model.equals("02"))
   {
    map=ChinaUnicomSend.getInstance().send(addr, str);
    /*
     * 保存到数据库
     */
    videoMessage.setEvent(event);
    videoMessage.setUserno(USERNO);
    videoMessage.setTelephone(addr);
    videoMessage.setContext(str);
    videoMessage.setSn((String)map.get("messageId"));
    videoMessage.setType("联通");
    videoMessage.setBegindatime(beginTime);
    messageService.persistVideoMessage(videoMessage);
    logger.info("联通短信保存成功!");
   }else if(model.equals("00"))
   {
    /*
     * 保存到数据库
     */
    videoMessage.setEvent(event);
    videoMessage.setUserno(USERNO);
    videoMessage.setTelephone(addr);
    videoMessage.setContext(str);
    videoMessage.setSn("-1");
    videoMessage.setType("未知");
    videoMessage.setBegindatime(beginTime);
    messageService.persistVideoMessage(videoMessage);
    logger.info("错误短信保存成功!");
   }
  }catch(Exception e)
  {
   logger.info("短信操作失败!"+e);
  } 
  return mapping.findForward("List");
  
 }

}

1 范围...............................................................................................................................................................1 2 引用标准.......................................................................................................................................................1 3 术语和定义...................................................................................................................................................1 4 网络结构.......................................................................................................................................................3 5 CMPP 功能概述............................................................................................................................................3 6 协议栈...........................................................................................................................................................4 7 通信方式.......................................................................................................................................................4 7.1 长连接...........................................................................................................................................4 7.2 短连接...........................................................................................................................................6 7.3 本协议涉及的端口号.....................................................................................................................6 7.4 交互过程中的应答方式.................................................................................................................7 8 消息定义.......................................................................................................................................................7 8.1 基本数据类型...............................................................................................................................7 8.2 消息结构.......................................................................................................................................7 8.3 消息头格式(Message Header) ..................................................................................................8 8.4 业务提供商(SP)与互联网短信网关(ISMG)间的消息定义.........................................................8 8.4.1 SP 请求连接到ISMG(CMPP_CONNECT)操作.............................................................8 8.4.1.1 CMPP_CONNECT 消息定义(SP
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值