您的位置:首页 > 其它

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

2008-07-29 13:34 253 查看
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");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: