⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mymmsender.java~20~

📁 彩信开发一般应用好了不?彩信开发一般应用好了不?彩信开发一般应用好了不?彩信开发一般应用好了不?彩信开发一般应用好了不?
💻 JAVA~20~
📖 第 1 页 / 共 2 页
字号:
package mmsproject;

import com.cmcc.mm7.vasp.message.*;
import com.cmcc.mm7.vasp.service.MM7Sender;
import org.apache.commons.lang.*;
import sun.misc.BASE64Encoder;
import sun.misc.BASE64Decoder;
import com.cmcc.mm7.vasp.common.*;
import org.apache.log4j.*;
import javax.xml.soap.MimeHeader;
import java.text.*;
import com.cmcc.mm7.vasp.conf.*;


import java.util.*;
import java.io.*;
import java.util.*;
import java.sql.*;

import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.apache.log4j.DailyRollingFileAppender;
import org.apache.log4j.Level;

import mmsproject.common.*;
import mmsproject.model.*;
import mmsproject.*;

/**
 * <p>Title: 彩信发送</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author tomato
 * @version 1.0
 */

public class MyMMSender {

    /**
     * 彩信长度
     */
    public long nMMSSize = 0;
    private String printTime=new  java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date());
    /**
     * 构造函数
     */
    public MyMMSender() {
        try {
            jbInit();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    /**
     * 发送彩信至彩信中心
     * @param sd SendData 彩信包 数据模型
     */
    public void send(SendData sd) {
        try {
            //读取配置文件
            //动感地带配置
            final MM7Config mzone = new MM7Config("./config/mzone.xml");
            mzone.setConnConfigName("./config/ConnConfig.xml");
            //全球通配置
            final MM7Config gotone = new MM7Config("./config/gotone.xml");
            gotone.setConnConfigName("./config/ConnConfig.xml");

            //1.创建MM7消息发送接口
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
            MM7SubmitReq submit = new MM7SubmitReq();

            //流水号
            submit.setTransactionID(String.valueOf(sd.TransactionID));
            System.out.println("流水号" + String.valueOf(sd.SendID));
            //接收号码
            String[] RecvPhoneNum = sd.RecvPhoneNum.split(";");
            submit.addTo(RecvPhoneNum[0]);
            System.out.println("接收号码" + RecvPhoneNum[0]);

            //企业代码
            submit.setVASID(GetProperties.VAS_ID);
            System.out.println("企业代码" + GetProperties.VAS_ID);

            //服务号码
            submit.setVASPID(GetProperties.VASP_ID);
            System.out.println("服务号码" + GetProperties.VASP_ID);

            //业务代码
            submit.setServiceCode(sd.ServiceCode);
            System.out.println("业务代码" + sd.ServiceCode);

            //发送号码
            submit.setSenderAddress(GetProperties.VAS_ID + sd.ServiceCode);
            System.out.println("发送号码" + GetProperties.VAS_ID + sd.ServiceCode);

            //标题
            submit.setSubject(sd.Title);
            System.out.println("标题" + sd.Title);

            //计费号码
            submit.setChargedPartyID(sd.ChargedNumber);
            System.out.println("计费号码" + sd.ChargedNumber);

            //计费方式?暂时不用(通过spoa的数据确定)
            submit.setChargedParty((byte) sd.ChangeType);
            System.out.println(sd.ChangeType);
            //是否读取状态报告
            submit.setDeliveryReport(true);
            submit.setReplyCharging(true);
            //submit.setReadReply(true);

            if (!sd.LinkId.equals("")) {
                submit.setLinkedID(sd.LinkId);
                System.out.println(sd.LinkId + "xx");
            }


            //创建主消息体
            MMContent content = new MMContent();
            //设置消息类型
            //判断文件中是否存在smil文件
            //如果文件出错,发送默认信息

            try
            {
                int nCount = 0;
                try
		{
                    nCount = sd.ContentNames.length;
                }
		catch(Exception ex)
		{
                    ex.printStackTrace();
                    FrmMMSManage.loggerSend.info(ex.getMessage());
                }
                String strSmilName = "";
                for (int i = 0; i < nCount; i++)
		{
                    if (sd.ContentNames[i].substring(sd.ContentNames[i].lastIndexOf(".") + 1).equals("smil"))
		    {//文件为smil文件时
                        sd.IsNeedSmil = true;
                       // strSmilName = sd.ContentNames[i];
                        //content.createFromFile(sd.ContentPaths[i]);
                        //System.out.println(sd.ContentPaths[i]);
                        content.setContentType(MMConstants.ContentType.MULTIPART_RELATED);
                        MMContent smilSub = MMContent.createFromFile(sd.ContentPaths[i]);
                        smilSub.setContentType(MMConstants.ContentType.SMIL);
                        content.addSubContent(smilSub);
                        break;
                    }
                }

                //不使用smil
                if (!sd.IsNeedSmil)
		{
                    //
                    content.setContentType(MMConstants.ContentType.MULTIPART_MIXED);
                    //使用smil
                }
		else
		{
                   // content.setContentType(MMConstants.ContentType.MULTIPART_RELATED);
                }

                //构造消息体
                for (int i = 0; i < sd.ContentPaths.length; i++)
                {

                    if (!sd.ContentNames[i].substring(sd.ContentNames[i].lastIndexOf(".") +1).equals("smil"))
                    {//当文件不是smil文件时
                        try
                        {
                            MMContent sub = MMContent.createFromFile(sd.ContentPaths[i]);
                            sub.setContentID(sd.ContentNames[i]);
                            System.out.println(sd.ContentNames[i]);

                            sub.setContentType(getContentType(getSubfix(sd.ContentNames[i])));
                            //System.out.println("getSubfix=="+getSubfix(sd.ContentNames[i]));
                            //System.out.println("========="+getContentType(getSubfix(sd.ContentNames[i])));
                            content.addSubContent(sub);
                        }
                        catch (Exception ex)
                        {
                            //此处需要记录出错信息
                            FrmMMSManage.loggerSend.info("构造消息体出错" + ex.getMessage());
                        }
                    }
                }
            }
            catch(Exception ex)
            {
                FrmMMSManage.m_txtStatus.setText(ex.toString());
                /*
                try{
                    MMContent sub = MMContent.createFromFile("./nopic.JPG");
                    sub.setContentType(getContentType("nopic.JPG"));
                    content.addSubContent(sub);
                    ex.printStackTrace();
                }catch(Exception exx){
                    exx.printStackTrace();
                }
*/
            }
            submit.setContent(content);

            //根据需要发送到的号码获取相应配置
            MM7Sender mm7Sender = null;
            MM7RSRes rsRes = null;
            if (this.getNumberType(RecvPhoneNum[0]) < 5) {
                mm7Sender = new MM7Sender(gotone);
                //发送彩信并且取得返回值
                rsRes = (MM7RSRes) mm7Sender.send(submit);
            } else if (this.getNumberType(RecvPhoneNum[0]) == 1) {
                mm7Sender = new MM7Sender(mzone);
                //发送彩信并且取得返回值
                rsRes = (MM7RSRes) mm7Sender.send(submit);
            } else if (this.getNumberType(RecvPhoneNum[0]) == -1) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -