diff --git a/haojing.iml b/haojing.iml index ef16a2a9..686e0a3b 100644 --- a/haojing.iml +++ b/haojing.iml @@ -29,5 +29,14 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/com/customization/dito/sendtodo/SendPortalWithDeleteCmd.java b/src/com/customization/dito/sendtodo/SendPortalWithDeleteCmd.java new file mode 100644 index 00000000..5d8738ca --- /dev/null +++ b/src/com/customization/dito/sendtodo/SendPortalWithDeleteCmd.java @@ -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 params; + + public SendPortalWithDeleteCmd(Map params){ + this.params = params; + } + + + public Map 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 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(); + } + } + +} diff --git a/src/weaver/interfaces/dito/mq/HrmRocketMsgListener.java b/src/weaver/interfaces/dito/mq/HrmRocketMsgListener.java index 8dabdc14..2f68681a 100644 --- a/src/weaver/interfaces/dito/mq/HrmRocketMsgListener.java +++ b/src/weaver/interfaces/dito/mq/HrmRocketMsgListener.java @@ -1,40 +1,40 @@ -package weaver.interfaces.dito.mq; - -import org.apache.commons.lang3.StringUtils; -import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; -import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; -import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; -import org.apache.rocketmq.common.message.MessageExt; -import weaver.general.BaseBean; - -import java.io.UnsupportedEncodingException; -import java.util.List; - - -public class HrmRocketMsgListener implements MessageListenerConcurrently { - @Override - public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext consumeConcurrentlyContext) { - BaseBean bb = new BaseBean(); - MessageExt msg = msgs.get(0); - - HrmRocketmqUtil hrmRocketmqUtil = new HrmRocketmqUtil(); - - try { - - bb.writeLog("Consumer---6----"+new String(msg.getBody())); - String msgdata = new String(msg.getBody(),"UTF-8"); - if(StringUtils.isBlank(msgdata)) - { - int errcount = hrmRocketmqUtil.updateOrgData(msgdata); - bb.writeLog("Consumer---errcount---:"+errcount); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - bb.writeLog("Consumer---UnsupportedEncodingException---e:"+e); - return ConsumeConcurrentlyStatus.RECONSUME_LATER; - } - return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; - - } - -} +//package weaver.interfaces.dito.mq; +// +//import org.apache.commons.lang3.StringUtils; +//import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +//import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +//import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +//import org.apache.rocketmq.common.message.MessageExt; +//import weaver.general.BaseBean; +// +//import java.io.UnsupportedEncodingException; +//import java.util.List; +// +// +//public class HrmRocketMsgListener implements MessageListenerConcurrently { +// @Override +// public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext consumeConcurrentlyContext) { +// BaseBean bb = new BaseBean(); +// MessageExt msg = msgs.get(0); +// +// HrmRocketmqUtil hrmRocketmqUtil = new HrmRocketmqUtil(); +// +// try { +// +// bb.writeLog("Consumer---6----"+new String(msg.getBody())); +// String msgdata = new String(msg.getBody(),"UTF-8"); +// if(StringUtils.isBlank(msgdata)) +// { +// int errcount = hrmRocketmqUtil.updateOrgData(msgdata); +// bb.writeLog("Consumer---errcount---:"+errcount); +// } +// } catch (UnsupportedEncodingException e) { +// e.printStackTrace(); +// bb.writeLog("Consumer---UnsupportedEncodingException---e:"+e); +// return ConsumeConcurrentlyStatus.RECONSUME_LATER; +// } +// return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; +// +// } +// +//} diff --git a/src/weaver/interfaces/dito/mq/HrmRocketmqServlet.java b/src/weaver/interfaces/dito/mq/HrmRocketmqServlet.java index 970ba0c1..5346ef27 100644 --- a/src/weaver/interfaces/dito/mq/HrmRocketmqServlet.java +++ b/src/weaver/interfaces/dito/mq/HrmRocketmqServlet.java @@ -1,182 +1,182 @@ -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 HrmRocketmqServlet 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(); - } - } - - }catch (Exception e){ - 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); - String hrmConsumerGroup = PropBean.getUfPropValue("hrmConsumerGroup"); - String hrmConsumerAddr = PropBean.getUfPropValue("hrmConsumerAddr"); - String hrmInstanceName = PropBean.getUfPropValue("hrmInstanceName"); - String hrmSubExpr = PropBean.getUfPropValue("hrmSubExpr"); - String hrmMQAuthID = PropBean.getUfPropValue("hrmMQAuthID"); - String hrmMQAuthPWD = PropBean.getUfPropValue("hrmMQAuthPWD"); - String hrmMQClusterName = PropBean.getUfPropValue("hrmMQClusterName"); - String hrmMQTenantID = PropBean.getUfPropValue("hrmMQTenantID"); - DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(hrmConsumerGroup); -// String namesrvAddr = propBean.getUfPropValueStatic("namesrvAddr"); -// bb.writeLog("namesrvAddr:" + namesrvAddr); - consumer.setNamesrvAddr(hrmConsumerAddr); -// String instanceName = propBean.getUfPropValueStatic("instanceName"); -// bb.writeLog("instanceName:" + instanceName); - consumer.setInstanceName(hrmInstanceName); - 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(hrmInstanceName, hrmSubExpr); - consumer.setAuthID(hrmMQAuthID); - consumer.setAuthPWD(hrmMQAuthPWD); - consumer.setClusterName(hrmMQClusterName); - consumer.setTenantID(hrmMQTenantID); - - consumer.setConsumeThreadMin(1); - consumer.setConsumeThreadMax(1); - consumer.setConsumeMessageBatchMaxSize(1); - - consumer.setMessageModel(MessageModel.BROADCASTING); - consumer.registerMessageListener(new HrmRocketMsgListener()); - consumer.start(); - bb.writeLog("Consumer88Started."); - - } catch (MQClientException var13) { - bb.writeLog("Consumer resource model initiated--MQClientException:" + var13); - } - } - - /** - * 实现 HttpServlet 的 doGet 方法,不作任何操作 - * @param request - * @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 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); - } - - - -} +//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 HrmRocketmqServlet 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(); +// } +// } +// +// }catch (Exception e){ +// 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); +// String hrmConsumerGroup = PropBean.getUfPropValue("hrmConsumerGroup"); +// String hrmConsumerAddr = PropBean.getUfPropValue("hrmConsumerAddr"); +// String hrmInstanceName = PropBean.getUfPropValue("hrmInstanceName"); +// String hrmSubExpr = PropBean.getUfPropValue("hrmSubExpr"); +// String hrmMQAuthID = PropBean.getUfPropValue("hrmMQAuthID"); +// String hrmMQAuthPWD = PropBean.getUfPropValue("hrmMQAuthPWD"); +// String hrmMQClusterName = PropBean.getUfPropValue("hrmMQClusterName"); +// String hrmMQTenantID = PropBean.getUfPropValue("hrmMQTenantID"); +// DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(hrmConsumerGroup); +//// String namesrvAddr = propBean.getUfPropValueStatic("namesrvAddr"); +//// bb.writeLog("namesrvAddr:" + namesrvAddr); +// consumer.setNamesrvAddr(hrmConsumerAddr); +//// String instanceName = propBean.getUfPropValueStatic("instanceName"); +//// bb.writeLog("instanceName:" + instanceName); +// consumer.setInstanceName(hrmInstanceName); +// 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(hrmInstanceName, hrmSubExpr); +// consumer.setAuthID(hrmMQAuthID); +// consumer.setAuthPWD(hrmMQAuthPWD); +// consumer.setClusterName(hrmMQClusterName); +// consumer.setTenantID(hrmMQTenantID); +// +// consumer.setConsumeThreadMin(1); +// consumer.setConsumeThreadMax(1); +// consumer.setConsumeMessageBatchMaxSize(1); +// +// consumer.setMessageModel(MessageModel.BROADCASTING); +// consumer.registerMessageListener(new HrmRocketMsgListener()); +// consumer.start(); +// bb.writeLog("Consumer88Started."); +// +// } catch (MQClientException var13) { +// bb.writeLog("Consumer resource model initiated--MQClientException:" + var13); +// } +// } +// +// /** +// * 实现 HttpServlet 的 doGet 方法,不作任何操作 +// * @param request +// * @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 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); +// } +// +// +// +//} diff --git a/src/weaver/interfaces/dito/mq/RocketMsgListener.java b/src/weaver/interfaces/dito/mq/RocketMsgListener.java index a3de4bb4..b0936f7e 100644 --- a/src/weaver/interfaces/dito/mq/RocketMsgListener.java +++ b/src/weaver/interfaces/dito/mq/RocketMsgListener.java @@ -1,40 +1,40 @@ -package weaver.interfaces.dito.mq; - -import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; -import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; -import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; -import org.apache.rocketmq.common.message.MessageExt; -import weaver.general.BaseBean; - -import java.io.UnsupportedEncodingException; -import java.util.List; - - -public class RocketMsgListener implements MessageListenerConcurrently { - @Override - public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext consumeConcurrentlyContext) { - BaseBean bb = new BaseBean(); - MessageExt msg = msgs.get(0); - - RocketmqUtil rocketmqUtil = new RocketmqUtil(); - - try { - - bb.writeLog("Consumer---3----"+new String(msg.getBody())); - String msgdata = new String(msg.getBody(),"UTF-8"); - if(!"".equals(msgdata)) - { - String data = msgdata.substring(msgdata.indexOf("{")); - int errcount = rocketmqUtil.updateOrgData(data); - bb.writeLog("Consumer---errcount---:"+errcount); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - bb.writeLog("Consumer---UnsupportedEncodingException---e:"+e); - return ConsumeConcurrentlyStatus.RECONSUME_LATER; - } - return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; - - } - -} +//package weaver.interfaces.dito.mq; +// +//import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +//import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +//import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +//import org.apache.rocketmq.common.message.MessageExt; +//import weaver.general.BaseBean; +// +//import java.io.UnsupportedEncodingException; +//import java.util.List; +// +// +//public class RocketMsgListener implements MessageListenerConcurrently { +// @Override +// public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext consumeConcurrentlyContext) { +// BaseBean bb = new BaseBean(); +// MessageExt msg = msgs.get(0); +// +// RocketmqUtil rocketmqUtil = new RocketmqUtil(); +// +// try { +// +// bb.writeLog("Consumer---3----"+new String(msg.getBody())); +// String msgdata = new String(msg.getBody(),"UTF-8"); +// if(!"".equals(msgdata)) +// { +// String data = msgdata.substring(msgdata.indexOf("{")); +// int errcount = rocketmqUtil.updateOrgData(data); +// bb.writeLog("Consumer---errcount---:"+errcount); +// } +// } catch (UnsupportedEncodingException e) { +// e.printStackTrace(); +// bb.writeLog("Consumer---UnsupportedEncodingException---e:"+e); +// return ConsumeConcurrentlyStatus.RECONSUME_LATER; +// } +// return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; +// +// } +// +//} diff --git a/src/weaver/interfaces/dito/mq/RocketmqServlet.java b/src/weaver/interfaces/dito/mq/RocketmqServlet.java index 63db5ad7..ae87864e 100644 --- a/src/weaver/interfaces/dito/mq/RocketmqServlet.java +++ b/src/weaver/interfaces/dito/mq/RocketmqServlet.java @@ -1,216 +1,216 @@ -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); +//package weaver.interfaces.dito.mq; // -// 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); +//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"); +//// 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初始化,初始化一次即可
+// */ +//// consumer.start(); +//// bb.writeLog("Consumer Started."); // -// bb.writeLog("topic:"+topic); -// bb.writeLog("subExpression:"+subExpression); +// }catch (Exception e){ +// 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.setConsumeThreadMax(1); // consumer.setConsumeMessageBatchMaxSize(1); +// // consumer.setMessageModel(MessageModel.BROADCASTING); // consumer.registerMessageListener(new RocketMsgListener()); -// consumer.registerMessageListener(new RocketMsgOrderListener()); - - /** - * Consumer对象在使用之前必须要调用start初始化,初始化一次即可
- */ // consumer.start(); -// bb.writeLog("Consumer Started."); - - }catch (Exception e){ - 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.setConsumeThreadMin(1); - consumer.setConsumeThreadMax(1); - consumer.setConsumeMessageBatchMaxSize(1); - - consumer.setMessageModel(MessageModel.BROADCASTING); - consumer.registerMessageListener(new RocketMsgListener()); - consumer.start(); - bb.writeLog("Consumer66Started."); - } catch (MQClientException var13) { - bb.writeLog("Consumer resource model initiated--MQClientException:" + var13); - } - } - - /** - * 实现 HttpServlet 的 doGet 方法,不作任何操作 - * @param request - * @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 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); - } - - - -} +// bb.writeLog("Consumer66Started."); +// } catch (MQClientException var13) { +// bb.writeLog("Consumer resource model initiated--MQClientException:" + var13); +// } +// } +// +// /** +// * 实现 HttpServlet 的 doGet 方法,不作任何操作 +// * @param request +// * @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 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); +// } +// +// +// +//} diff --git a/src/weaver/interfaces/dito/portal/SendRequestData2PortalInterfaces.java b/src/weaver/interfaces/dito/portal/SendRequestData2PortalInterfaces.java index 1311e98d..9d38f69d 100644 --- a/src/weaver/interfaces/dito/portal/SendRequestData2PortalInterfaces.java +++ b/src/weaver/interfaces/dito/portal/SendRequestData2PortalInterfaces.java @@ -1,6 +1,8 @@ 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.logging.Log; import org.apache.commons.logging.LogFactory; @@ -13,6 +15,8 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; public class SendRequestData2PortalInterfaces implements SendRequestStatusDataInterfaces { private static final Log log = LogFactory.getLog(SendRequestData2PortalInterfaces.class); @@ -117,14 +121,20 @@ public class SendRequestData2PortalInterfaces implements SendRequestStatusDataIn bb.writeLog("deldatas-requestname:"+requestname); JSONObject rsojson = new JSONObject(); rsojson.put("cid",rso.getCid()); + rsojson.put("requestid",rso.getRequestid()); rsojson.put("username",rso.getUser().getLastname()+"("+rso.getUser().getUID()+")"); todolist.add(rsojson); } deljson.put("DelCount",deldatas.size()); deljson.put("DelDatas",todolist); jsonArray.add(deljson); + //同步统一门户 + Map param = new HashMap<>(); + param.put("requestid",dobj.getRequestid()); + new SendPortalWithDeleteCmd(param).execute(Context.getCommandComtext()); } + mainboject.put("id",id); mainboject.put("syscode",syscode); mainboject.put("requestid",dobj.getRequestid()); mainboject.put("requestname",requestname);