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

📄 sendjob.java

📁 MM7彩信对接网关示例
💻 JAVA
字号:
/*
 * Created on 2005-8-29
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.rainbow.mms.easysend;

import java.sql.CallableStatement;
import java.util.Date;

import org.hibernate.Session;
import org.hibernate.Transaction;

import com.rainbow.mms.common.MMSServiceCode;
import com.rainbow.mms.common.MmsContent;
import com.rainbow.msdbjob.MsDbJob;
import com.rainbow.msdbjob.MsDbJobSchedule;
import com.rainbow.msdbjob.MsDbJobStep;
import com.rainbow.util.tools.HibernateUtil;

/**
 * 发送彩信的数据库作业
 * @author Rainbow MMS Group Leader -- TrWorks
 */
public class SendJob{

	/**
	 * 发送作业的编号,系统自动生成
	 */
	private int sendJobID;
	/**
	 * 发送作业的名称
	 */
	private String sendJobName;
	/**
	 * 发送作业要发送的彩信内容
	 */
	private MmsContent sendMmsContent;
	/**
	 * 该发送作业从属的业务代码
	 */
	private MMSServiceCode serviceCode;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 描述
	 */
	private String memo;
	/**
	 * 发送结果
	 */
	private int result;
	
	/**
	 * 获得 发送作业的编号,系统自动生成
	 * @return 发送作业的编号
	 */
	public int getSendJobID() {
		return sendJobID;
	}
	/**
	 * 设置 发送作业的编号,系统自动生成,SP方不因该设定此值
	 * @param sendJobID 发送作业的编号,系统自动生成,SP方不因该设定此值
	 */
	public void setSendJobID(int sendJobID) {
		this.sendJobID = sendJobID;
	}
	/**
	 * 发送作业的名称
	 * @return 发送作业的名称
	 */
	public String getSendJobName() {
		return sendJobName;
	}
	/**
	 * 设置 发送作业的名称
	 * @param sendJobName 发送作业的名称
	 */
	public void setSendJobName(String sendJobName) {
		this.sendJobName = sendJobName;
	}

	/**
	 * 获得 发送作业要发送的彩信内容
	 * @return 发送作业要发送的彩信内容
	 */
	public MmsContent getSendMmsContent() {
		return sendMmsContent;
	}
	/**
	 * 设置 发送作业要发送的彩信内容
	 * @param sendMmsContent 发送作业要发送的彩信内容
	 */
	public void setSendMmsContent(MmsContent sendMmsContent) {
		this.sendMmsContent = sendMmsContent;
	}
	/**
	 * 获得 创建时间
	 * @return 创建时间
	 */
	public Date getCreateTime() {
		return createTime;
	}
	/**
	 * 设置 创建时间
	 * @param createTime 创建时间
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	
	/**
	 * 获得 该发送作业从属的业务代码
	 * @return 该发送作业从属的业务代码
	 */
	public MMSServiceCode getServiceCode() {
		return serviceCode;
	}
	/**
	 * 设置 该发送作业从属的业务代码
	 * @param serviceCode 该发送作业从属的业务代码
	 */
	public void setServiceCode(MMSServiceCode serviceCode) {
		this.serviceCode = serviceCode;
	}
	/**
	 * 获得 描述信息
	 * @return 描述信息
	 */
	public String getMemo() {
		return memo;
	}
	/**
	 * 设置 描述信息
	 * @param memo 描述信息
	 */
	public void setMemo(String memo) {
		this.memo = memo;
	}
	/**
	 * 获得 发送结果, 1表示作业被执行,0表示没有执行
	 * @return 发送结果, 1表示作业被执行,0表示没有执行
	 */
	public int getResult() {
		return result;
	}
	/**
	 * 设置 发送结果, 1表示作业被执行,0表示没有执行,该值应由中央数据库自动赋予,SP不应该设置此值
	 * @param result 发送结果, 1表示作业被执行,0表示没有执行,该值应由中央数据库自动赋予,SP不应该设置此值
	 */
	public void setResult(int result) {
		this.result = result;
	}
	
	/**
	 * 创建一个发送作业
	 * @return 成功与否
	 */
	public static boolean createSendJob(SendJob job, MsDbJobSchedule schedule){
		// 判断合法性
		if (job == null || schedule == null || job.getSendJobName() == null ||
			job.getSendJobName().equalsIgnoreCase("") == true ||job.getSendMmsContent() == null ||
			job.getServiceCode() == null){
			return false;
		}
		
		// 创建一个新的MSSqlServer作业
		MsDbJob dbJob = new MsDbJob(job.getSendJobName(), job.getMemo(), "sa", 1);
		
		// 添加调度到作业中
		if (false == dbJob.addJobSchedule(schedule)){
			return false;
		}
		// 创建一个作业执行步骤
		MsDbJobStep step = new MsDbJobStep();
		String exec = "EXEC MMS_PEasySendFire " + job.getServiceCode().getId() + ", " + job.getSendMmsContent().getContentId();
		step.setCommand(exec);
		step.setDbName("MMSDB");
		step.setStepName((new Date()).toString());
		step.setStepID(1);
		
		// 添加步骤到作业中
		if (false == dbJob.addJobStep(step)){
			return false;
		}
		
		return true;
	}
	
	/**
	 * 撤销发送作业
	 * @param job 发送作业
	 * @return 撤销成功与否
	 */
	public static boolean cancelSendJob(SendJob job){
		try{
			Session sess = HibernateUtil.currentSession();
			Transaction tx = sess.beginTransaction();
			CallableStatement s = sess.connection().prepareCall("{call MMS_PEasySendCancel (?)}");
			s.setInt(1, job.getSendJobID());
			s.execute();
			tx.commit();
		}
		catch(Exception e){
			e.printStackTrace();
		}
		finally{
			HibernateUtil.closeSession();
		}
		
		return true;
	}
	
}

⌨️ 快捷键说明

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