📄 sendjob.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 + -