給移動做項目找的短信發送網關

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:[email protected]
 */
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");
  
 }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章