1.定时任务和推送消息的改动。
2.推送消息在同时执行多个时错误问题。
This commit is contained in:
parent
4b2a6e312b
commit
7593ad9a1d
@ -17,7 +17,10 @@ import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.tenwa.officetempalte.util.FileOperatorUtil;
|
||||
|
||||
public class BankCardChangeReminderMessage extends BaseBussinessMessage{
|
||||
|
||||
/*
|
||||
* 非最终版,如有具体需求,再重新调整。(non-Javadoc)
|
||||
* @see com.tenwa.comm.message.controller.BaseBussinessMessage#loadMessageInfo()
|
||||
*/
|
||||
@Override
|
||||
public void loadMessageInfo()throws Exception{
|
||||
String reminderDays = this.messageParam.get("reminderdays")==null?"0":this.messageParam.get("reminderdays");
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
package com.tenwa.comm.message.controller;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
@ -22,6 +25,7 @@ import com.tenwa.officetempalte.util.FileOperatorUtil;
|
||||
|
||||
public class BaseBussinessMessage extends BaseTable {
|
||||
public String messageId;
|
||||
public String CUSTOMER_NAME;
|
||||
public BizObject messageConfig;
|
||||
public String messageConfigId;
|
||||
public JBOTransaction curTx;
|
||||
@ -33,6 +37,8 @@ public class BaseBussinessMessage extends BaseTable {
|
||||
messageConfig= messageManager.createQuery(sql)
|
||||
.setParameter("id", this.getMessageConfigId())
|
||||
.getSingleResult(true);
|
||||
//想要实现多个合同分别提醒,将UUID放到saveBaseMessage方法里;
|
||||
//同时再写字类时,参数cparam去掉ID,在saveBaseMessage里将ID拼接一下。
|
||||
this.messageId=UUID.randomUUID().toString().replaceAll("-", "");
|
||||
String fixedParam=messageConfig.getAttribute("cparam").getString();
|
||||
if(fixedParam.length()>0&&(!fixedParam.equals("[]"))){
|
||||
@ -47,14 +53,20 @@ public class BaseBussinessMessage extends BaseTable {
|
||||
this.loadMessageInfo();
|
||||
}
|
||||
public void loadMessageInfo()throws Exception{
|
||||
|
||||
Date currentTime = new Date();
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(currentTime);
|
||||
Date reminderTime = calendar.getTime();
|
||||
String reminderDate = format.format(reminderTime);
|
||||
|
||||
Map<String,Object>cparam=new HashMap<String,Object>();
|
||||
cparam.put("cdate","2013-12-11");
|
||||
cparam.put("date",reminderDate);
|
||||
cparam.put("CUSTOMER_NAME",this.getCUSTOMER_NAME());
|
||||
Map<String,String>message=new HashMap<String,String>();
|
||||
message.put("MessageTitle", FileOperatorUtil.getFileNameByFormual(this.messageConfig.getAttribute("message_title").getString(),cparam));
|
||||
message.put("MessageContent", "");
|
||||
message.put("Cparam", "ID="+this.messageId+"&ComputerData="+"2013-12-11");
|
||||
|
||||
message.put("Cparam", "ID="+this.messageId+"&reminderDate="+reminderDate);
|
||||
|
||||
Map<String,String>userIds=this.getMessageUsers();
|
||||
for(String key:userIds.keySet()){
|
||||
@ -111,6 +123,17 @@ public class BaseBussinessMessage extends BaseTable {
|
||||
public void setCurTx(JBOTransaction curTx) {
|
||||
this.curTx = curTx;
|
||||
}
|
||||
|
||||
public String getCUSTOMER_NAME() {
|
||||
return CUSTOMER_NAME;
|
||||
}
|
||||
public void setCUSTOMER_NAME(String cUSTOMER_NAME) {
|
||||
CUSTOMER_NAME = cUSTOMER_NAME;
|
||||
}
|
||||
public void saveBaseMessageSimple(JBOTransaction curTx) throws Exception{
|
||||
this.messageConfigId=messageId;
|
||||
this.curTx=curTx;
|
||||
this.loadConfig();
|
||||
this.loadMessageInfo();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -65,9 +65,12 @@ public class BaseMessageJob implements Job {
|
||||
public void executeMessage( JBOTransaction tx ) throws Exception{
|
||||
List<String>configNo=this.loadMessageNo(tx);
|
||||
if(configNo.size()>1){
|
||||
ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();
|
||||
/*ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();
|
||||
for(String key:configNo){
|
||||
singleThreadExecutor.execute(new BaseMessageTimeTask(key,tx));
|
||||
}*/
|
||||
for(String key:configNo){
|
||||
new BaseMessageTimeTask(key,tx).run();
|
||||
}
|
||||
}else{
|
||||
if(configNo.size()==1){
|
||||
|
||||
@ -18,7 +18,10 @@ import com.amarsoft.are.jbo.JBOFactory;
|
||||
import com.tenwa.officetempalte.util.FileOperatorUtil;
|
||||
|
||||
public class CardChangeReminderMessage extends BaseBussinessMessage{
|
||||
|
||||
/*
|
||||
* 非最终版,如有具体需求,再重新调整。(non-Javadoc)
|
||||
* @see com.tenwa.comm.message.controller.BaseBussinessMessage#loadMessageInfo()
|
||||
*/
|
||||
@Override
|
||||
public void loadMessageInfo()throws Exception{
|
||||
String reminderDays = this.messageParam.get("reminderdays")==null?"0":this.messageParam.get("reminderdays");
|
||||
@ -39,15 +42,19 @@ public class CardChangeReminderMessage extends BaseBussinessMessage{
|
||||
Map<String,String>message=new HashMap<String,String>();
|
||||
message.put("MessageTitle", FileOperatorUtil.getFileNameByFormual(this.messageConfig.getAttribute("message_title").getString(),cparam));
|
||||
message.put("MessageContent", "");
|
||||
message.put("Cparam", "ID="+this.messageId+"&QueryDate="+queryDate);
|
||||
message.put("Cparam", "&QueryDate="+queryDate);
|
||||
BizObjectManager liiManager = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME);
|
||||
List<BizObject> liis = liiManager.createQuery("sign_type='COMPLETE' and file_flag='yes' and INPUTTIME like :queryDate").setParameter("queryDate",queryDate+"%").getResultList(false);
|
||||
if(liis!=null && liis.size()>0){
|
||||
Map<String,String>userIds=this.getMessageUsers();
|
||||
for(String key:userIds.keySet()){
|
||||
message.put("UserId", key);
|
||||
this.saveBaseMessage(message);
|
||||
}
|
||||
for(BizObject lii:liis){
|
||||
String contract_id = lii.getAttribute("contract_id").toString();
|
||||
message.put("contractId", contract_id);
|
||||
for(String key:userIds.keySet()){
|
||||
message.put("UserId", key);
|
||||
this.saveBaseMessage(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user