流程删除时同步门户

feature-LeeD-20221025
liuliang 2 years ago
parent b953af8f5e
commit 26c7b98b02

@ -29,5 +29,14 @@
<SOURCES /> <SOURCES />
</library> </library>
</orderEntry> </orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="file://$MODULE_DIR$/../../../weaver/ecology/classbean" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component> </component>
</module> </module>

@ -0,0 +1,181 @@
package com.customization.dito.sendtodo;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.cfg.annotation.CommandDynamicProxy;
import com.engine.core.interceptor.AbstractCommandProxy;
import com.engine.core.interceptor.Command;
import com.engine.core.interceptor.CommandContext;
import com.engine.workflow.cmd.monitor.DoDeleteCmd;
import com.time.util.DateUtil;
import org.apache.commons.lang.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.interfaces.dito.comInfo.PropBean;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class SendPortalWithDeleteCmd {
private Map<String,Object> params;
public SendPortalWithDeleteCmd(Map<String,Object> params){
this.params = params;
}
public Map<String, Object> execute(CommandContext commandContext) {
String requestid = Util.null2String(params.get("requestid"));
String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl");
String bpm_app_requesturl = PropBean.getUfPropValue("bpm_app_requesturl");
String portal_todourl = PropBean.getUfPropValue("portal_todourl");
String username = PropBean.getUfPropValue("username");
String passwd = PropBean.getUfPropValue("passwd");
String center = PropBean.getUfPropValue("center");
String bpm_workflowurl = PropBean.getUfPropValue("bpm_workflowurl");
sendTodoDataByNode(requestid,username,passwd,center,portal_todourl,bpm_workflowurl,bpm_app_workflowurl,bpm_app_requesturl);
return null;
}
private String getShortMessageTitle(String messageTitle) {
if (messageTitle.length() > 20) {
messageTitle = messageTitle.substring(0, 17) + "...";
}
return messageTitle;
}
/**
*
* @param username
* @param passwd
* @param portal_todourl
* @param bpm_workflowurl
* @param bpm_app_workflowurl
* @param bpm_app_requesturl
*/
public void sendTodoDataByNode(String requestid,String username,String passwd,String center,String portal_todourl,String bpm_workflowurl,String bpm_app_workflowurl,String bpm_app_requesturl){
HttpRequestUtil httpRequestUtil = new HttpRequestUtil();
SendPortalErrorUtil sendPortalErrorUtil = new SendPortalErrorUtil();
String mobileJumpUrl = PropBean.getUfPropValue("mobileJumpUrl");
JSONObject requestObject = new JSONObject();
RecordSet rs = new RecordSet();
BaseBean bb = new BaseBean();
bb.writeLog("SendPortalQithRawRunnable--sendTodoDataByNode");
String terminal = "1" ;
String taskType = "0";
String actionType = "3" ;
String objectAction = "0" ;
String objectType = "0";
try {
String sql="";
// int userid = user.getUID();
//String workcode = "";
// String sql = " select * from (select id, lastname,loginid from hrmresource where status = 1 union all select id, lastname,loginid from hrmresourcemanager ) w where w.id = '" + userid + "'";
// rs.executeQuery(sql);
// while (rs.next()) {
// workcode = Util.null2String(rs.getString("loginid"));
// }
String processTime = DateUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss");
String urlPc = "[newtab]"+bpm_workflowurl+"/workflow/request/ViewRequestForwardSPA.jsp?requestid="+requestid ;
String replace = bpm_app_workflowurl.replace("/bpm", "");
String urlDing = replace+bpm_app_requesturl+requestid;
String urlApp = replace+bpm_app_requesturl+requestid;
if(StringUtils.isNotEmpty(mobileJumpUrl)){
urlDing += "&returnUrl="+ URLEncoder.encode(mobileJumpUrl,"UTF-8");
urlApp += "&returnUrl="+URLEncoder.encode(mobileJumpUrl,"UTF-8");
}
bb.writeLog("urlDing", urlDing);
String requestname = "" ;
String workflowname = "" ;
String nodeId = "" ;
String nodeName = "" ;
sql =" select t1.requestname,t1.currentnodeid as nodeid,d1.nodename,t3.workflowname\n" +
" from workflow_requestbase t1\n" +
" inner join workflow_base t3 on t1.workflowid = t3.id\n" +
" left join workflow_nodebase d1 on d1.id = t1.currentnodeid "+
" where (t1.deleted <> 1 or t1.deleted is null or t1.deleted = '')\n" +
" and t1.requestid = "+requestid ;
bb.writeLog("sendTodoDataByNode--sql2:"+sql);
rs.executeQuery(sql);
if (rs.next()){
requestname = Util.null2String(rs.getString("requestname")) ;
workflowname = Util.null2String(rs.getString("workflowname")) ;
nodeId = Util.null2String(rs.getString("nodeid")) ;
nodeName = Util.null2String(rs.getString("nodeName")) ;
}
requestObject.put("center",center);
requestObject.put("title",requestname);
//requestObject.put("creator",workcode);
requestObject.put("taskCode",requestid);
requestObject.put("nodeId",nodeId);
requestObject.put("taskType",taskType);
requestObject.put("actionType",actionType);
requestObject.put("createDate",processTime);
requestObject.put("messageTitle",getShortMessageTitle(requestname));
requestObject.put("messageContent",requestname);
requestObject.put("terminal",terminal);
requestObject.put("urlPc",urlPc);
requestObject.put("urlApp",urlApp);
requestObject.put("urlDing",urlDing);
requestObject.put("nodeName",nodeName);
requestObject.put("ticketType",workflowname);
// JSONArray taskObjectList = new JSONArray();
// JSONObject taskObject = new JSONObject();
// taskObject.put("objectAction",objectAction);
// taskObject.put("objectType",objectType);
// taskObject.put("objectCode",workcode);
// taskObject.put("objectId","");
// taskObject.put("operatorCode",workcode);
// taskObjectList.add(taskObject);
// requestObject.put("taskObjectList",taskObjectList);
String auth = username + ":" + passwd;
bb.writeLog("sendTodoDataByNode---requestObject:"+requestObject.toJSONString());
String msgdata = httpRequestUtil.doPostByAuth(portal_todourl,requestObject.toJSONString(),auth);
bb.writeLog("msgdata:"+msgdata);
Map<String,Object> map = new HashMap<>();
if(!"".equals(msgdata)){
JSONObject msgObject = JSONObject.parseObject(msgdata);
//{"resultCode":"1","resultMsg":"No Result"}
if(msgObject.containsKey("resultCode")){
String resultCode = msgObject.getString("resultCode");
if("0".equals(resultCode)){
map.put("resultCode","0");
}else{
bb.writeLog(msgObject.get("resultMsg"));
sendPortalErrorUtil.doCreateSendPortalTodoErrorInfo();
map.put("resultCode",resultCode);
map.put("resultMsg",msgObject.get("resultMsg"));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

@ -1,40 +1,40 @@
package weaver.interfaces.dito.mq; //package weaver.interfaces.dito.mq;
//
import org.apache.commons.lang3.StringUtils; //import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; //import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; //import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; //import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.common.message.MessageExt; //import org.apache.rocketmq.common.message.MessageExt;
import weaver.general.BaseBean; //import weaver.general.BaseBean;
//
import java.io.UnsupportedEncodingException; //import java.io.UnsupportedEncodingException;
import java.util.List; //import java.util.List;
//
//
public class HrmRocketMsgListener implements MessageListenerConcurrently { //public class HrmRocketMsgListener implements MessageListenerConcurrently {
@Override // @Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext consumeConcurrentlyContext) { // public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext consumeConcurrentlyContext) {
BaseBean bb = new BaseBean(); // BaseBean bb = new BaseBean();
MessageExt msg = msgs.get(0); // MessageExt msg = msgs.get(0);
//
HrmRocketmqUtil hrmRocketmqUtil = new HrmRocketmqUtil(); // HrmRocketmqUtil hrmRocketmqUtil = new HrmRocketmqUtil();
//
try { // try {
//
bb.writeLog("Consumer---6----"+new String(msg.getBody())); // bb.writeLog("Consumer---6----"+new String(msg.getBody()));
String msgdata = new String(msg.getBody(),"UTF-8"); // String msgdata = new String(msg.getBody(),"UTF-8");
if(StringUtils.isBlank(msgdata)) // if(StringUtils.isBlank(msgdata))
{ // {
int errcount = hrmRocketmqUtil.updateOrgData(msgdata); // int errcount = hrmRocketmqUtil.updateOrgData(msgdata);
bb.writeLog("Consumer---errcount---:"+errcount); // bb.writeLog("Consumer---errcount---:"+errcount);
} // }
} catch (UnsupportedEncodingException e) { // } catch (UnsupportedEncodingException e) {
e.printStackTrace(); // e.printStackTrace();
bb.writeLog("Consumer---UnsupportedEncodingException---e:"+e); // bb.writeLog("Consumer---UnsupportedEncodingException---e:"+e);
return ConsumeConcurrentlyStatus.RECONSUME_LATER; // return ConsumeConcurrentlyStatus.RECONSUME_LATER;
} // }
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; // return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
//
} // }
//
} //}

@ -1,182 +1,182 @@
package weaver.interfaces.dito.mq; //package weaver.interfaces.dito.mq;
//
//
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; //import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.exception.MQClientException; //import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.common.consumer.ConsumeFromWhere; //import org.apache.rocketmq.common.consumer.ConsumeFromWhere;
import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; //import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
import weaver.file.Prop; //import weaver.file.Prop;
import weaver.general.BaseBean; //import weaver.general.BaseBean;
import weaver.general.GCONST; //import weaver.general.GCONST;
import weaver.general.InitServer; //import weaver.general.InitServer;
import weaver.interfaces.dito.comInfo.PropBean; //import weaver.interfaces.dito.comInfo.PropBean;
//
import javax.servlet.ServletException; //import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet; //import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; //import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; //import javax.servlet.http.HttpServletResponse;
import java.io.IOException; //import java.io.IOException;
import java.text.SimpleDateFormat; //import java.text.SimpleDateFormat;
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.Date; //import java.util.Date;
//
//
public class HrmRocketmqServlet extends HttpServlet { //public class HrmRocketmqServlet extends HttpServlet {
//
//
private boolean isMainIp = false;//是否为主节点 // private boolean isMainIp = false;//是否为主节点
//
private boolean isSampleMode = false;//是否为单机启用ridis并且配置了主节点的则不是单机否则认为是集群环境 // private boolean isSampleMode = false;//是否为单机启用ridis并且配置了主节点的则不是单机否则认为是集群环境
//
@Override // @Override
public void init() throws ServletException // public void init() throws ServletException
{ // {
//
BaseBean bb = new BaseBean(); // BaseBean bb = new BaseBean();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); // SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
//
bb.writeLog("initiated---进入时间:"+sdf.format(new Date())); // bb.writeLog("initiated---进入时间:"+sdf.format(new Date()));
bb.writeLog("***** resource model initiated"); // bb.writeLog("***** resource model initiated");
bb.writeLog("***** resource model initiated"); // bb.writeLog("***** resource model initiated");
bb.writeLog("***** resource model initiated"); // bb.writeLog("***** resource model initiated");
//
try{ // try{
isMainIp = isMainIp();//计算是否为集群中的主节点 // isMainIp = isMainIp();//计算是否为集群中的主节点
isSampleMode = isSampleMode();//判断是否为单机 // isSampleMode = isSampleMode();//判断是否为单机
bb.writeLog("isMainIp:"+isMainIp); // bb.writeLog("isMainIp:"+isMainIp);
bb.writeLog("isSampleMode:"+isSampleMode); // bb.writeLog("isSampleMode:"+isSampleMode);
//
if(isSampleMode){ // if(isSampleMode){
initData(); // initData();
}else{ // }else{
if (isMainIp) { // if (isMainIp) {
//则调用service方法加载设置重新获取workflowid相关超时设置OvertimeEntity // //则调用service方法加载设置重新获取workflowid相关超时设置OvertimeEntity
initData(); // initData();
} // }
} // }
//
}catch (Exception e){ // }catch (Exception e){
bb.writeLog("Consumer resource model initiated--MQClientException:"+e); // bb.writeLog("Consumer resource model initiated--MQClientException:"+e);
} // }
//
bb.writeLog("***** resource model initiated"); // bb.writeLog("***** resource model initiated");
bb.writeLog("***** resource model initiated"); // bb.writeLog("***** resource model initiated");
bb.writeLog("***** resource model initiated"); // bb.writeLog("***** resource model initiated");
} // }
//
//
public void initData(){ // public void initData(){
BaseBean bb = new BaseBean(); // BaseBean bb = new BaseBean();
PropBean propBean = new PropBean(); // PropBean propBean = new PropBean();
//
try { // try {
// String consumerGroup = propBean.getUfPropValueStatic("consumerGroup"); //// String consumerGroup = propBean.getUfPropValueStatic("consumerGroup");
// bb.writeLog("consumerGroup:" + consumerGroup); //// bb.writeLog("consumerGroup:" + consumerGroup);
String hrmConsumerGroup = PropBean.getUfPropValue("hrmConsumerGroup"); // String hrmConsumerGroup = PropBean.getUfPropValue("hrmConsumerGroup");
String hrmConsumerAddr = PropBean.getUfPropValue("hrmConsumerAddr"); // String hrmConsumerAddr = PropBean.getUfPropValue("hrmConsumerAddr");
String hrmInstanceName = PropBean.getUfPropValue("hrmInstanceName"); // String hrmInstanceName = PropBean.getUfPropValue("hrmInstanceName");
String hrmSubExpr = PropBean.getUfPropValue("hrmSubExpr"); // String hrmSubExpr = PropBean.getUfPropValue("hrmSubExpr");
String hrmMQAuthID = PropBean.getUfPropValue("hrmMQAuthID"); // String hrmMQAuthID = PropBean.getUfPropValue("hrmMQAuthID");
String hrmMQAuthPWD = PropBean.getUfPropValue("hrmMQAuthPWD"); // String hrmMQAuthPWD = PropBean.getUfPropValue("hrmMQAuthPWD");
String hrmMQClusterName = PropBean.getUfPropValue("hrmMQClusterName"); // String hrmMQClusterName = PropBean.getUfPropValue("hrmMQClusterName");
String hrmMQTenantID = PropBean.getUfPropValue("hrmMQTenantID"); // String hrmMQTenantID = PropBean.getUfPropValue("hrmMQTenantID");
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(hrmConsumerGroup); // DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(hrmConsumerGroup);
// String namesrvAddr = propBean.getUfPropValueStatic("namesrvAddr"); //// String namesrvAddr = propBean.getUfPropValueStatic("namesrvAddr");
// bb.writeLog("namesrvAddr:" + namesrvAddr); //// bb.writeLog("namesrvAddr:" + namesrvAddr);
consumer.setNamesrvAddr(hrmConsumerAddr); // consumer.setNamesrvAddr(hrmConsumerAddr);
// String instanceName = propBean.getUfPropValueStatic("instanceName"); //// String instanceName = propBean.getUfPropValueStatic("instanceName");
// bb.writeLog("instanceName:" + instanceName); //// bb.writeLog("instanceName:" + instanceName);
consumer.setInstanceName(hrmInstanceName); // consumer.setInstanceName(hrmInstanceName);
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); // consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
// String topic = propBean.getUfPropValueStatic("topic"); //// String topic = propBean.getUfPropValueStatic("topic");
// String subExpression = propBean.getUfPropValueStatic("subExpression"); //// String subExpression = propBean.getUfPropValueStatic("subExpression");
// bb.writeLog("topic:" + topic); //// bb.writeLog("topic:" + topic);
// bb.writeLog("subExpression:" + subExpression); //// bb.writeLog("subExpression:" + subExpression);
// String authid = propBean.getUfPropValueStatic("authid"); //// String authid = propBean.getUfPropValueStatic("authid");
// String authpwd = propBean.getUfPropValueStatic("authpwd"); //// String authpwd = propBean.getUfPropValueStatic("authpwd");
// String clustername = propBean.getUfPropValueStatic("clustername"); //// String clustername = propBean.getUfPropValueStatic("clustername");
// String tenantid = propBean.getUfPropValueStatic("tenantid"); //// String tenantid = propBean.getUfPropValueStatic("tenantid");
// bb.writeLog("authid:" + authid); //// bb.writeLog("authid:" + authid);
// bb.writeLog("authpwd:" + authpwd); //// bb.writeLog("authpwd:" + authpwd);
// bb.writeLog("clustername:" + clustername); //// bb.writeLog("clustername:" + clustername);
// bb.writeLog("tenantid:" + tenantid); //// bb.writeLog("tenantid:" + tenantid);
consumer.subscribe(hrmInstanceName, hrmSubExpr); // consumer.subscribe(hrmInstanceName, hrmSubExpr);
consumer.setAuthID(hrmMQAuthID); // consumer.setAuthID(hrmMQAuthID);
consumer.setAuthPWD(hrmMQAuthPWD); // consumer.setAuthPWD(hrmMQAuthPWD);
consumer.setClusterName(hrmMQClusterName); // consumer.setClusterName(hrmMQClusterName);
consumer.setTenantID(hrmMQTenantID); // consumer.setTenantID(hrmMQTenantID);
//
consumer.setConsumeThreadMin(1); // consumer.setConsumeThreadMin(1);
consumer.setConsumeThreadMax(1); // consumer.setConsumeThreadMax(1);
consumer.setConsumeMessageBatchMaxSize(1); // consumer.setConsumeMessageBatchMaxSize(1);
//
consumer.setMessageModel(MessageModel.BROADCASTING); // consumer.setMessageModel(MessageModel.BROADCASTING);
consumer.registerMessageListener(new HrmRocketMsgListener()); // consumer.registerMessageListener(new HrmRocketMsgListener());
consumer.start(); // consumer.start();
bb.writeLog("Consumer88Started."); // bb.writeLog("Consumer88Started.");
//
} catch (MQClientException var13) { // } catch (MQClientException var13) {
bb.writeLog("Consumer resource model initiated--MQClientException:" + var13); // bb.writeLog("Consumer resource model initiated--MQClientException:" + var13);
} // }
} // }
//
/** // /**
* HttpServlet doGet // * 实现 HttpServlet 的 doGet 方法,不作任何操作
* @param request // * @param request
* @param response // * @param response
* @throws ServletException // * @throws ServletException
* @throws IOException // * @throws IOException
*/ // */
@Override // @Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response); // doPost(request, response);
} // }
//
/** // /**
* HttpServlet doPost // * 实现 HttpServlet 的 doPost 方法,不作任何操作
* @param request // * @param request
* @param response // * @param response
* @throws ServletException // * @throws ServletException
* @throws IOException // * @throws IOException
*/ // */
//
@Override // @Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
} // }
//
@Override // @Override
public void destroy() // public void destroy()
{ // {
// 什么也不做 // // 什么也不做
} // }
//
//
private boolean isMainIp() { // private boolean isMainIp() {
new BaseBean().writeLog("超时判断主节点"); // new BaseBean().writeLog("超时判断主节点");
String mainControlIp = ""; // String mainControlIp = "";
ArrayList<String> hostIps = new InitServer().getRealIp(); // ArrayList<String> hostIps = new InitServer().getRealIp();
Prop prop = Prop.getInstance(); // Prop prop = Prop.getInstance();
mainControlIp = prop.getPropValue(GCONST.getConfigFile(), "MainControlIP"); // mainControlIp = prop.getPropValue(GCONST.getConfigFile(), "MainControlIP");
if (hostIps == null || hostIps.size() == 0) { // if (hostIps == null || hostIps.size() == 0) {
new BaseBean().writeLog("System Init Error:Cannot get local Ip address,This may cause scripts or Timed task not run! "); // new BaseBean().writeLog("System Init Error:Cannot get local Ip address,This may cause scripts or Timed task not run! ");
} else { // } else {
new BaseBean().writeLog("System Init Message:mainControlIp=" + mainControlIp + " localIp:" + hostIps.toString()); // new BaseBean().writeLog("System Init Message:mainControlIp=" + mainControlIp + " localIp:" + hostIps.toString());
} // }
if ((!"".equals(mainControlIp) && hostIps.contains(mainControlIp)) || "".equals(mainControlIp)) { // if ((!"".equals(mainControlIp) && hostIps.contains(mainControlIp)) || "".equals(mainControlIp)) {
return true; // return true;
} // }
return false; // return false;
} // }
//
public boolean isSampleMode() { // public boolean isSampleMode() {
BaseBean base = new BaseBean(); // BaseBean base = new BaseBean();
boolean redis_flag = "1".equals(base.getPropValue("weaver_new_session", "status")); // boolean redis_flag = "1".equals(base.getPropValue("weaver_new_session", "status"));
boolean mainIp_flag = !"".equals(base.getPropValue("weaver", "MainControlIP")); // boolean mainIp_flag = !"".equals(base.getPropValue("weaver", "MainControlIP"));
base.writeLog("超时判断是否为集群环境redis_flag======"+redis_flag); // base.writeLog("超时判断是否为集群环境redis_flag======"+redis_flag);
base.writeLog("超时判断是否为集群环境mainIp_flag======="+mainIp_flag); // base.writeLog("超时判断是否为集群环境mainIp_flag======="+mainIp_flag);
return !(redis_flag && mainIp_flag); // return !(redis_flag && mainIp_flag);
} // }
//
//
//
} //}

@ -1,40 +1,40 @@
package weaver.interfaces.dito.mq; //package weaver.interfaces.dito.mq;
//
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; //import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; //import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; //import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.common.message.MessageExt; //import org.apache.rocketmq.common.message.MessageExt;
import weaver.general.BaseBean; //import weaver.general.BaseBean;
//
import java.io.UnsupportedEncodingException; //import java.io.UnsupportedEncodingException;
import java.util.List; //import java.util.List;
//
//
public class RocketMsgListener implements MessageListenerConcurrently { //public class RocketMsgListener implements MessageListenerConcurrently {
@Override // @Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext consumeConcurrentlyContext) { // public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext consumeConcurrentlyContext) {
BaseBean bb = new BaseBean(); // BaseBean bb = new BaseBean();
MessageExt msg = msgs.get(0); // MessageExt msg = msgs.get(0);
//
RocketmqUtil rocketmqUtil = new RocketmqUtil(); // RocketmqUtil rocketmqUtil = new RocketmqUtil();
//
try { // try {
//
bb.writeLog("Consumer---3----"+new String(msg.getBody())); // bb.writeLog("Consumer---3----"+new String(msg.getBody()));
String msgdata = new String(msg.getBody(),"UTF-8"); // String msgdata = new String(msg.getBody(),"UTF-8");
if(!"".equals(msgdata)) // if(!"".equals(msgdata))
{ // {
String data = msgdata.substring(msgdata.indexOf("{")); // String data = msgdata.substring(msgdata.indexOf("{"));
int errcount = rocketmqUtil.updateOrgData(data); // int errcount = rocketmqUtil.updateOrgData(data);
bb.writeLog("Consumer---errcount---:"+errcount); // bb.writeLog("Consumer---errcount---:"+errcount);
} // }
} catch (UnsupportedEncodingException e) { // } catch (UnsupportedEncodingException e) {
e.printStackTrace(); // e.printStackTrace();
bb.writeLog("Consumer---UnsupportedEncodingException---e:"+e); // bb.writeLog("Consumer---UnsupportedEncodingException---e:"+e);
return ConsumeConcurrentlyStatus.RECONSUME_LATER; // return ConsumeConcurrentlyStatus.RECONSUME_LATER;
} // }
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; // return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
//
} // }
//
} //}

@ -1,216 +1,216 @@
package weaver.interfaces.dito.mq; //package weaver.interfaces.dito.mq;
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.common.consumer.ConsumeFromWhere;
import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
import weaver.file.Prop;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.InitServer;
import weaver.interfaces.dito.comInfo.PropBean;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class RocketmqServlet extends HttpServlet {
private boolean isMainIp = false;//是否为主节点
private boolean isSampleMode = false;//是否为单机启用ridis并且配置了主节点的则不是单机否则认为是集群环境
@Override
public void init() throws ServletException
{
BaseBean bb = new BaseBean();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
bb.writeLog("initiated---进入时间:"+sdf.format(new Date()));
bb.writeLog("***** resource model initiated");
bb.writeLog("***** resource model initiated");
bb.writeLog("***** resource model initiated");
try{
isMainIp = isMainIp();//计算是否为集群中的主节点
isSampleMode = isSampleMode();//判断是否为单机
bb.writeLog("isMainIp:"+isMainIp);
bb.writeLog("isSampleMode:"+isSampleMode);
if(isSampleMode){
initData();
}else{
if (isMainIp) {
//则调用service方法加载设置重新获取workflowid相关超时设置OvertimeEntity
initData();
}
}
//DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("portal-producer-group_nj");
//DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("cbec-consumer-group_nj_133");
//consumer.setNamesrvAddr("172.16.84.183:9001;172.16.84.187:9001");
// consumer.subscribe("dataSync_topic_nj", "BPM");
// consumer.setInstanceName("dataSync_topic_nj");
// String consumerGroup = PropBean.getUfPropValue("consumerGroup");
// bb.writeLog("consumerGroup:"+consumerGroup);
// DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerGroup);
// //
// String namesrvAddr = PropBean.getUfPropValue("namesrvAddr");
// bb.writeLog("namesrvAddr:"+namesrvAddr);
// consumer.setNamesrvAddr(namesrvAddr);
// //
// String instanceName = PropBean.getUfPropValue("instanceName"); //import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
// bb.writeLog("instanceName:"+instanceName); //import org.apache.rocketmq.client.exception.MQClientException;
// consumer.setInstanceName(instanceName); //import org.apache.rocketmq.common.consumer.ConsumeFromWhere;
// consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); //import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
// //consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET); //import weaver.file.Prop;
//import weaver.general.BaseBean;
//import weaver.general.GCONST;
//import weaver.general.InitServer;
//import weaver.interfaces.dito.comInfo.PropBean;
//
//import javax.servlet.ServletException;
//import javax.servlet.http.HttpServlet;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Date;
//
//
//
//public class RocketmqServlet extends HttpServlet {
//
//
// private boolean isMainIp = false;//是否为主节点
//
// private boolean isSampleMode = false;//是否为单机启用ridis并且配置了主节点的则不是单机否则认为是集群环境
//
// @Override
// public void init() throws ServletException
// {
//
// BaseBean bb = new BaseBean();
// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
//
// bb.writeLog("initiated---进入时间:"+sdf.format(new Date()));
// bb.writeLog("***** resource model initiated");
// bb.writeLog("***** resource model initiated");
// bb.writeLog("***** resource model initiated");
//
// try{
// isMainIp = isMainIp();//计算是否为集群中的主节点
// isSampleMode = isSampleMode();//判断是否为单机
// bb.writeLog("isMainIp:"+isMainIp);
// bb.writeLog("isSampleMode:"+isSampleMode);
//
// if(isSampleMode){
// initData();
// }else{
// if (isMainIp) {
// //则调用service方法加载设置重新获取workflowid相关超时设置OvertimeEntity
// initData();
// }
// }
//
//
//
// //DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("portal-producer-group_nj");
// //DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("cbec-consumer-group_nj_133");
// //consumer.setNamesrvAddr("172.16.84.183:9001;172.16.84.187:9001");
//// consumer.subscribe("dataSync_topic_nj", "BPM");
//// consumer.setInstanceName("dataSync_topic_nj");
//
//// String consumerGroup = PropBean.getUfPropValue("consumerGroup");
//// bb.writeLog("consumerGroup:"+consumerGroup);
//// DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerGroup);
////
//// String namesrvAddr = PropBean.getUfPropValue("namesrvAddr");
//// bb.writeLog("namesrvAddr:"+namesrvAddr);
//// consumer.setNamesrvAddr(namesrvAddr);
////
//// String instanceName = PropBean.getUfPropValue("instanceName");
//// bb.writeLog("instanceName:"+instanceName);
//// consumer.setInstanceName(instanceName);
//// consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
//// //consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET);
////
//// String topic = PropBean.getUfPropValue("topic");
//// String subExpression = PropBean.getUfPropValue("subExpression");
////
//// bb.writeLog("topic:"+topic);
//// bb.writeLog("subExpression:"+subExpression);
////
//// consumer.subscribe(topic,subExpression);
//// consumer.setConsumeThreadMin(1);
//// consumer.setConsumeThreadMax(1);
//// consumer.setConsumeMessageBatchMaxSize(1);
//// consumer.setMessageModel(MessageModel.BROADCASTING);
//// consumer.registerMessageListener(new RocketMsgListener());
//// consumer.registerMessageListener(new RocketMsgOrderListener());
// //
// String topic = PropBean.getUfPropValue("topic"); // /**
// String subExpression = PropBean.getUfPropValue("subExpression"); // * Consumer对象在使用之前必须要调用start初始化初始化一次即可<br>
// */
//// consumer.start();
//// bb.writeLog("Consumer Started.");
// //
// bb.writeLog("topic:"+topic); // }catch (Exception e){
// bb.writeLog("subExpression:"+subExpression); // bb.writeLog("Consumer resource model initiated--MQClientException:"+e);
// }
//
// bb.writeLog("***** resource model initiated");
// bb.writeLog("***** resource model initiated");
// bb.writeLog("***** resource model initiated");
// }
//
//
// public void initData(){
// BaseBean bb = new BaseBean();
// PropBean propBean = new PropBean();
//
// try {
// String consumerGroup = propBean.getUfPropValueStatic("consumerGroup");
// bb.writeLog("consumerGroup:" + consumerGroup);
// DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerGroup);
// String namesrvAddr = propBean.getUfPropValueStatic("namesrvAddr");
// bb.writeLog("namesrvAddr:" + namesrvAddr);
// consumer.setNamesrvAddr(namesrvAddr);
// String instanceName = propBean.getUfPropValueStatic("instanceName");
// bb.writeLog("instanceName:" + instanceName);
// consumer.setInstanceName(instanceName);
// consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
// String topic = propBean.getUfPropValueStatic("topic");
// String subExpression = propBean.getUfPropValueStatic("subExpression");
// bb.writeLog("topic:" + topic);
// bb.writeLog("subExpression:" + subExpression);
// String authid = propBean.getUfPropValueStatic("authid");
// String authpwd = propBean.getUfPropValueStatic("authpwd");
// String clustername = propBean.getUfPropValueStatic("clustername");
// String tenantid = propBean.getUfPropValueStatic("tenantid");
// bb.writeLog("authid:" + authid);
// bb.writeLog("authpwd:" + authpwd);
// bb.writeLog("clustername:" + clustername);
// bb.writeLog("tenantid:" + tenantid);
// consumer.subscribe(topic, subExpression);
// consumer.setAuthID(authid);
// consumer.setAuthPWD(authpwd);
// consumer.setClusterName(clustername);
// consumer.setTenantID(tenantid);
// //
// consumer.subscribe(topic,subExpression);
// consumer.setConsumeThreadMin(1); // consumer.setConsumeThreadMin(1);
// consumer.setConsumeThreadMax(1); // consumer.setConsumeThreadMax(1);
// consumer.setConsumeMessageBatchMaxSize(1); // consumer.setConsumeMessageBatchMaxSize(1);
//
// consumer.setMessageModel(MessageModel.BROADCASTING); // consumer.setMessageModel(MessageModel.BROADCASTING);
// consumer.registerMessageListener(new RocketMsgListener()); // consumer.registerMessageListener(new RocketMsgListener());
// consumer.registerMessageListener(new RocketMsgOrderListener());
/**
* Consumer使start<br>
*/
// consumer.start(); // consumer.start();
// bb.writeLog("Consumer Started."); // bb.writeLog("Consumer66Started.");
// } catch (MQClientException var13) {
}catch (Exception e){ // bb.writeLog("Consumer resource model initiated--MQClientException:" + var13);
bb.writeLog("Consumer resource model initiated--MQClientException:"+e); // }
} // }
//
bb.writeLog("***** resource model initiated"); // /**
bb.writeLog("***** resource model initiated"); // * 实现 HttpServlet 的 doGet 方法,不作任何操作
bb.writeLog("***** resource model initiated"); // * @param request
} // * @param response
// * @throws ServletException
// * @throws IOException
public void initData(){ // */
BaseBean bb = new BaseBean(); // @Override
PropBean propBean = new PropBean(); // public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// doPost(request, response);
try { // }
String consumerGroup = propBean.getUfPropValueStatic("consumerGroup"); //
bb.writeLog("consumerGroup:" + consumerGroup); // /**
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerGroup); // * 实现 HttpServlet 的 doPost 方法,不作任何操作
String namesrvAddr = propBean.getUfPropValueStatic("namesrvAddr"); // * @param request
bb.writeLog("namesrvAddr:" + namesrvAddr); // * @param response
consumer.setNamesrvAddr(namesrvAddr); // * @throws ServletException
String instanceName = propBean.getUfPropValueStatic("instanceName"); // * @throws IOException
bb.writeLog("instanceName:" + instanceName); // */
consumer.setInstanceName(instanceName); //
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); // @Override
String topic = propBean.getUfPropValueStatic("topic"); // public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String subExpression = propBean.getUfPropValueStatic("subExpression"); // }
bb.writeLog("topic:" + topic); //
bb.writeLog("subExpression:" + subExpression); // @Override
String authid = propBean.getUfPropValueStatic("authid"); // public void destroy()
String authpwd = propBean.getUfPropValueStatic("authpwd"); // {
String clustername = propBean.getUfPropValueStatic("clustername"); // // 什么也不做
String tenantid = propBean.getUfPropValueStatic("tenantid"); // }
bb.writeLog("authid:" + authid); //
bb.writeLog("authpwd:" + authpwd); //
bb.writeLog("clustername:" + clustername); // private boolean isMainIp() {
bb.writeLog("tenantid:" + tenantid); // new BaseBean().writeLog("超时判断主节点");
consumer.subscribe(topic, subExpression); // String mainControlIp = "";
consumer.setAuthID(authid); // ArrayList<String> hostIps = new InitServer().getRealIp();
consumer.setAuthPWD(authpwd); // Prop prop = Prop.getInstance();
consumer.setClusterName(clustername); // mainControlIp = prop.getPropValue(GCONST.getConfigFile(), "MainControlIP");
consumer.setTenantID(tenantid); // if (hostIps == null || hostIps.size() == 0) {
// new BaseBean().writeLog("System Init Error:Cannot get local Ip address,This may cause scripts or Timed task not run! ");
consumer.setConsumeThreadMin(1); // } else {
consumer.setConsumeThreadMax(1); // new BaseBean().writeLog("System Init Message:mainControlIp=" + mainControlIp + " localIp:" + hostIps.toString());
consumer.setConsumeMessageBatchMaxSize(1); // }
// if ((!"".equals(mainControlIp) && hostIps.contains(mainControlIp)) || "".equals(mainControlIp)) {
consumer.setMessageModel(MessageModel.BROADCASTING); // return true;
consumer.registerMessageListener(new RocketMsgListener()); // }
consumer.start(); // return false;
bb.writeLog("Consumer66Started."); // }
} catch (MQClientException var13) { //
bb.writeLog("Consumer resource model initiated--MQClientException:" + var13); // public boolean isSampleMode() {
} // BaseBean base = new BaseBean();
} // boolean redis_flag = "1".equals(base.getPropValue("weaver_new_session", "status"));
// boolean mainIp_flag = !"".equals(base.getPropValue("weaver", "MainControlIP"));
/** // base.writeLog("超时判断是否为集群环境redis_flag======"+redis_flag);
* HttpServlet doGet // base.writeLog("超时判断是否为集群环境mainIp_flag======="+mainIp_flag);
* @param request // return !(redis_flag && mainIp_flag);
* @param response // }
* @throws ServletException //
* @throws IOException //
*/ //
@Override //}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* HttpServlet doPost
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
@Override
public void destroy()
{
// 什么也不做
}
private boolean isMainIp() {
new BaseBean().writeLog("超时判断主节点");
String mainControlIp = "";
ArrayList<String> hostIps = new InitServer().getRealIp();
Prop prop = Prop.getInstance();
mainControlIp = prop.getPropValue(GCONST.getConfigFile(), "MainControlIP");
if (hostIps == null || hostIps.size() == 0) {
new BaseBean().writeLog("System Init Error:Cannot get local Ip address,This may cause scripts or Timed task not run! ");
} else {
new BaseBean().writeLog("System Init Message:mainControlIp=" + mainControlIp + " localIp:" + hostIps.toString());
}
if ((!"".equals(mainControlIp) && hostIps.contains(mainControlIp)) || "".equals(mainControlIp)) {
return true;
}
return false;
}
public boolean isSampleMode() {
BaseBean base = new BaseBean();
boolean redis_flag = "1".equals(base.getPropValue("weaver_new_session", "status"));
boolean mainIp_flag = !"".equals(base.getPropValue("weaver", "MainControlIP"));
base.writeLog("超时判断是否为集群环境redis_flag======"+redis_flag);
base.writeLog("超时判断是否为集群环境mainIp_flag======="+mainIp_flag);
return !(redis_flag && mainIp_flag);
}
}

@ -1,6 +1,8 @@
package weaver.interfaces.dito.portal; package weaver.interfaces.dito.portal;
import com.customization.dito.sendtodo.SendPortalWithDeleteCmd;
import com.engine.core.context.Context;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@ -13,6 +15,8 @@ import net.sf.json.JSONArray;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class SendRequestData2PortalInterfaces implements SendRequestStatusDataInterfaces { public class SendRequestData2PortalInterfaces implements SendRequestStatusDataInterfaces {
private static final Log log = LogFactory.getLog(SendRequestData2PortalInterfaces.class); private static final Log log = LogFactory.getLog(SendRequestData2PortalInterfaces.class);
@ -117,14 +121,20 @@ public class SendRequestData2PortalInterfaces implements SendRequestStatusDataIn
bb.writeLog("deldatas-requestname:"+requestname); bb.writeLog("deldatas-requestname:"+requestname);
JSONObject rsojson = new JSONObject(); JSONObject rsojson = new JSONObject();
rsojson.put("cid",rso.getCid()); rsojson.put("cid",rso.getCid());
rsojson.put("requestid",rso.getRequestid());
rsojson.put("username",rso.getUser().getLastname()+"("+rso.getUser().getUID()+")"); rsojson.put("username",rso.getUser().getLastname()+"("+rso.getUser().getUID()+")");
todolist.add(rsojson); todolist.add(rsojson);
} }
deljson.put("DelCount",deldatas.size()); deljson.put("DelCount",deldatas.size());
deljson.put("DelDatas",todolist); deljson.put("DelDatas",todolist);
jsonArray.add(deljson); jsonArray.add(deljson);
//同步统一门户
Map<String,Object> param = new HashMap<>();
param.put("requestid",dobj.getRequestid());
new SendPortalWithDeleteCmd(param).execute(Context.getCommandComtext());
} }
mainboject.put("id",id);
mainboject.put("syscode",syscode); mainboject.put("syscode",syscode);
mainboject.put("requestid",dobj.getRequestid()); mainboject.put("requestid",dobj.getRequestid());
mainboject.put("requestname",requestname); mainboject.put("requestname",requestname);

Loading…
Cancel
Save