no message
parent
cca5205632
commit
749c30c590
@ -0,0 +1,124 @@
|
||||
<%@ page import="com.engine.custom.sl.entity.EsbRequestHeader" %>
|
||||
<%@ page import="java.text.SimpleDateFormat" %>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page import="com.engine.custom.sl.entity.TravelToEsbBean" %>
|
||||
<%@ page import="java.nio.charset.StandardCharsets" %>
|
||||
<%@ page import="com.engine.util.SocketClientUtil" %>
|
||||
<%@ page import="com.engine.util.XMLUtils" %>
|
||||
<%@ page import="java.util.Map" %>
|
||||
<%@ page import="com.alibaba.fastjson.JSONObject" %>
|
||||
<%@ page import="com.engine.common.util.ParamUtil" %>
|
||||
<%@ page import="java.net.Socket" %>
|
||||
<%@ page import="weaver.general.BaseBean" %>
|
||||
<%@ page import="weaver.general.StringUtil" %>
|
||||
<%@ page import="java.io.*" %>
|
||||
<%@ page import="weaver.general.Util" %>
|
||||
<%@ page import="weaver.hrm.HrmUserVarify" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
|
||||
|
||||
<%
|
||||
|
||||
// Map<String, Object> param = ParamUtil.request2Map(request);
|
||||
// String workCode = param.get("workCode").toString();
|
||||
String workCode = HrmUserVarify.getUser(request, response).getLoginid();
|
||||
String timeStr = generateTimestamp();
|
||||
EsbRequestHeader esbRequestHeader = new EsbRequestHeader();
|
||||
esbRequestHeader.setService_sn(timeStr+workCode);
|
||||
esbRequestHeader.setSystem_id("0217");
|
||||
esbRequestHeader.setRequester_id("0170");
|
||||
esbRequestHeader.setBranch_id("KHCP0003");
|
||||
esbRequestHeader.setChannel_id("24");
|
||||
esbRequestHeader.setService_time(timeStr);
|
||||
esbRequestHeader.setNeed_request("");
|
||||
esbRequestHeader.setSvcCd("500130012");
|
||||
esbRequestHeader.setSvcScn("24");
|
||||
String bnkSrlNo = esbRequestHeader.getRequester_id() + timeStr + workCode;
|
||||
esbRequestHeader.setBnkSrlNo(bnkSrlNo);
|
||||
esbRequestHeader.setFileFlg("0");
|
||||
String Service_Body = "<Service_Body><request><oaTrvlBnsExpnsAcctNo>BTSQD-202312180027</oaTrvlBnsExpnsAcctNo><apprvrNo>10110726</apprvrNo><apprvrName>商博君</apprvrName><flowStatus>3</flowStatus><sgntrOpn>付款成功</sgntrOpn></request></Service_Body>" ;
|
||||
String Service_Header = TravelToEsbBean.convertObjectToXml(esbRequestHeader,"Service_Header");
|
||||
String serviceXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service>";
|
||||
// out.print("UTF_8_serviceXML==="+ serviceXML);
|
||||
serviceXML = serviceXML + Service_Header + Service_Body;
|
||||
serviceXML = serviceXML + "</Service>";
|
||||
// out.print("UTF_8_serviceXML==="+ serviceXML);
|
||||
String length = String.format("%08d", serviceXML.length());
|
||||
serviceXML = length + serviceXML;
|
||||
serviceXML = new String(serviceXML.getBytes(StandardCharsets.UTF_8));
|
||||
String send = "";
|
||||
try {
|
||||
send = send(serviceXML);
|
||||
out.print("返回=="+send);
|
||||
}catch (Exception e){
|
||||
out.print("异常=="+ e.getMessage());
|
||||
}
|
||||
// SocketClientUtil scketClient = new SocketClientUtil("14.1.76.116",10149);
|
||||
// String substring = send.substring(0, 8);
|
||||
// String substring1 = send.substring(8);
|
||||
// out.print(substring);
|
||||
// Map<String, String> map = XMLUtils.parseXMLToMap(send);
|
||||
|
||||
// JSONObject jsonObject = new JSONObject();
|
||||
// jsonObject.put("count", Util.getIntValue(map.get("count")));
|
||||
// out.print(jsonObject.toJSONString());
|
||||
%>
|
||||
<%!
|
||||
public String send(String request) throws Exception {
|
||||
// bs.writeLog("Client Start...");
|
||||
BaseBean bs = new BaseBean();
|
||||
Socket socket = null;
|
||||
try {
|
||||
//创建一个流套接字并将其连接到指定主机上的指定端口号
|
||||
socket = new Socket("14.1.209.146",8090);
|
||||
// String str = "00000612<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service><Service_Header><service_sn>1010157060000081243</service_sn><system_id>0258</system_id><requester_id>0157</requester_id><branch_id>010231100</branch_id><channel_id>01</channel_id><service_time>20230905104426</service_time><need_request>true</need_request><SvcCd>500130004</SvcCd><SvcScn>13</SvcScn><BnkSrlNo>015720230905060000081243</BnkSrlNo><FileFlg>0</FileFlg></Service_Header><Service_Body><request><path>todo</path><method>getCount</method><args><entry><key>userNum</key><value>10913026任广鹏是个大刷币</value></entry></args></request></Service_Body></Service>";
|
||||
// System.out.println(str);
|
||||
//读取服务器端数据
|
||||
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8));
|
||||
//向服务器端发送数据
|
||||
// PrintStream out = new PrintStream(new OutputStreamWriter(socket.getOutputStream(),StandardCharsets.UTF_8));
|
||||
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(),StandardCharsets.UTF_8),true);
|
||||
out.println(request);
|
||||
char[] datalen=new char[8];//报文前八位为报文体总长度
|
||||
input.read(datalen,0,8);
|
||||
String lendata=new String (datalen);
|
||||
int length=Integer.parseInt(lendata);
|
||||
new BaseBean().writeLog("报文长度"+length);
|
||||
char[] data=new char[length];
|
||||
int datalength = input.read(data,0,length);
|
||||
String requestData = new String(data);
|
||||
new BaseBean().writeLog("requestData",requestData);
|
||||
// String ret = input.readLine();
|
||||
System.out.println("服务器端返回过来的是: " + requestData);
|
||||
bs.writeLog("服务器端返回过来的是: " + requestData);
|
||||
// 如接收到 "OK" 则断开连接
|
||||
if (!StringUtil.isEmpty(requestData)) {
|
||||
bs.writeLog("客户端将关闭连接");
|
||||
System.out.println("客户端将关闭连接: " + requestData);
|
||||
Thread.sleep(500);
|
||||
}
|
||||
out.close();
|
||||
input.close();
|
||||
return requestData;
|
||||
} catch (Exception e) {
|
||||
bs.writeLog("客户端异常:" + e.getMessage());
|
||||
throw e;
|
||||
} finally {
|
||||
if (socket != null) {
|
||||
try {
|
||||
socket.close();
|
||||
} catch (IOException e) {
|
||||
socket = null;
|
||||
bs.writeLog("客户端 finally 异常:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
// return "-1";
|
||||
}
|
||||
|
||||
public static String generateTimestamp() {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
Date currentDate = new Date();
|
||||
return dateFormat.format(currentDate);
|
||||
}
|
||||
%>
|
@ -0,0 +1,55 @@
|
||||
<%@ page import="weaver.conn.RecordSet" %>
|
||||
<%@ page import="weaver.general.BaseBean" %>
|
||||
<%@ page import="weaver.general.Util" %>
|
||||
<%@ page import="com.alibaba.fastjson.JSONObject" %>
|
||||
<%@ page import="com.alibaba.fastjson.JSONArray" %>
|
||||
<%@ page import="java.util.regex.Pattern" %>
|
||||
<%@ page import="java.util.regex.Matcher" %>
|
||||
<%@ page import="java.io.*" %>
|
||||
<%@ page import="weaver.hrm.User" %>
|
||||
<%@ page import="java.text.SimpleDateFormat" %>
|
||||
<%@ page import="java.util.*" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
|
||||
<%@ page import="org.apache.http.impl.client.CloseableHttpClient" %>
|
||||
<%@ page import="org.apache.http.impl.client.HttpClients" %>
|
||||
<%@ page import="org.apache.http.client.methods.HttpPost" %>
|
||||
<%@ page import="com.alibaba.fastjson.JSON" %>
|
||||
<%@ page import="org.apache.http.entity.StringEntity" %>
|
||||
<%@ page import="org.apache.http.client.methods.CloseableHttpResponse" %>
|
||||
<%@ page import="org.apache.http.HttpStatus" %>
|
||||
<%@ page import="org.apache.http.HttpEntity" %>
|
||||
<%@ page import="org.apache.http.util.EntityUtils" %>
|
||||
<%@ page import="org.apache.http.client.ClientProtocolException" %>
|
||||
<%@ page import="weaver.hrm.HrmUserVarify" %>
|
||||
<%@ page import="java.net.URL" %>
|
||||
<%@ page import="java.net.HttpURLConnection" %>
|
||||
<%@ page import="org.apache.http.HttpException" %>
|
||||
<%@ page import="org.apache.http.client.HttpClient" %>
|
||||
<%@ page import="org.apache.commons.httpclient.methods.PostMethod" %>
|
||||
<%@ page import="org.apache.commons.httpclient.params.HttpMethodParams" %>
|
||||
<%@ page import="org.apache.http.NameValuePair" %>
|
||||
<%@ page import="org.apache.http.message.BasicNameValuePair" %>
|
||||
<%@ page import="org.apache.http.client.entity.UrlEncodedFormEntity" %>
|
||||
<%@ page import="weaver.rsa.security.RSA" %>
|
||||
<%@ page import="java.security.interfaces.RSAPublicKey" %>
|
||||
<%@ page import="java.security.KeyFactory" %>
|
||||
<%@ page import="java.security.spec.X509EncodedKeySpec" %>
|
||||
<%@ page import="javax.crypto.Cipher" %>
|
||||
<%@ page import="org.apache.commons.codec.binary.Base64" %>
|
||||
<%@ page import="java.nio.charset.StandardCharsets" %>
|
||||
<%@ page import="org.apache.http.impl.client.HttpClientBuilder" %>
|
||||
<%@ page import="org.apache.http.client.methods.HttpGet" %>
|
||||
<%@ page import="com.engine.common.util.ParamUtil" %>
|
||||
<%@ page import="com.wbi.util.StringUtil" %>
|
||||
<%@ page import="org.json.JSONException" %>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
|
||||
<%
|
||||
response.sendError(500,"报错测试");
|
||||
%>
|
||||
|
||||
<%!
|
||||
|
||||
%>
|
||||
|
||||
|
Binary file not shown.
@ -0,0 +1,79 @@
|
||||
package weaver.interfaces.workflow.action.javacode;
|
||||
|
||||
import com.cloudstore.dev.api.bean.MessageBean;
|
||||
import com.cloudstore.dev.api.bean.MessageType;
|
||||
import com.cloudstore.dev.api.util.Util_Message;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.file.Prop;
|
||||
import weaver.general.StringUtil;
|
||||
import weaver.general.Util;
|
||||
import weaver.interfaces.workflow.action.Action;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Online custom action interface
|
||||
*/
|
||||
public class Action20231221053557 extends BaseBean implements Action {
|
||||
/**
|
||||
* After selecting aciton after the process path node, this method will be executed after the node is submitted.
|
||||
*/
|
||||
@Override
|
||||
public String execute(RequestInfo request) {
|
||||
String requestid = request.getRequestid();
|
||||
String billTableName = request.getRequestManager().getBillTableName();
|
||||
String sqr = getsqrbyReqid(requestid, billTableName);
|
||||
String bh = getBHbyreqId(requestid, billTableName);
|
||||
sendMsgForSuccess(sqr,bh,Util.getIntValue(requestid));
|
||||
return Action.SUCCESS;
|
||||
}
|
||||
|
||||
private void sendMsgForSuccess(String userid, String oaTrvlBnsExpnsAcctNo, int requestid) {
|
||||
MessageType messageType = MessageType.newInstance(1674); // 消息来源(见文档第四点补充 必填)
|
||||
Set<String> userIdList = new HashSet<>(); // 接收人id 必填
|
||||
String[] useridArr = userid.split(",");
|
||||
String proplinkUrl = Prop.getPropValue("subsidy_reminder", "linkUrl");
|
||||
String proplinkMobileUrl = Prop.getPropValue("subsidy_reminder", "linkMobileUrl");
|
||||
for (String s : useridArr) {
|
||||
userIdList.add(s);
|
||||
}
|
||||
String title = "您有新的差旅补助到账,请您查收节点后"; // 标题
|
||||
String context = "差补报销(" + oaTrvlBnsExpnsAcctNo + ")";
|
||||
String linkUrl = StringUtil.isEmpty(proplinkUrl) ? "" : proplinkUrl + requestid; // PC端链接
|
||||
String linkMobileUrl = StringUtil.isEmpty(proplinkMobileUrl) ? "" : proplinkMobileUrl + requestid; // 移动端链接
|
||||
try {
|
||||
MessageBean messageBean = Util_Message.createMessage(messageType, userIdList, title, context, linkUrl, linkMobileUrl);
|
||||
messageBean.setCreater(1);// 创建人id
|
||||
//message.setBizState("0");// 需要修改消息为已处理等状态时传入,表示消息最初状态为待处理
|
||||
//messageBean.setTargetId("121|22"); //消息来源code +“|”+业务id需要修改消息为已处理等状态时传入
|
||||
Util_Message.store(messageBean);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public String getsqrbyReqid(String requestid, String tableName) {
|
||||
RecordSet recordSet = new RecordSet();
|
||||
HashMap<String, String> resultMap = new HashMap<>();
|
||||
String sql = "select jbrxm from " + tableName + " where requestid = ?";
|
||||
recordSet.executeQuery(sql, requestid);
|
||||
recordSet.next();
|
||||
return Util.null2String(recordSet.getString("jbrxm"));
|
||||
|
||||
}
|
||||
|
||||
public String getBHbyreqId(String requestid, String tableName) {
|
||||
RecordSet recordSet = new RecordSet();
|
||||
HashMap<String, String> resultMap = new HashMap<>();
|
||||
String sql = "select djbh from " + tableName + " where requestid = ?";
|
||||
recordSet.executeQuery(sql, requestid);
|
||||
recordSet.next();
|
||||
return Util.null2String(recordSet.getString("djbh"));
|
||||
}
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
package weaver.interfaces.workflow.action.javacode;
|
||||
|
||||
import com.cloudstore.dev.api.bean.MessageBean;
|
||||
import com.cloudstore.dev.api.bean.MessageType;
|
||||
import com.cloudstore.dev.api.util.Util_Message;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.file.Prop;
|
||||
import weaver.general.StringUtil;
|
||||
import weaver.general.Util;
|
||||
import weaver.interfaces.workflow.action.Action;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Online custom action interface
|
||||
*/
|
||||
public class Action20231221085819 extends BaseBean implements Action {
|
||||
/**
|
||||
* After selecting aciton after the process path node, this method will be executed after the node is submitted.
|
||||
*/
|
||||
@Override
|
||||
public String execute(RequestInfo request) {
|
||||
try {
|
||||
String requestid = request.getRequestid();
|
||||
String billTableName = request.getRequestManager().getBillTableName();
|
||||
String sqr = getsqrbyReqid(requestid, billTableName);
|
||||
String bh = getBHbyreqId(requestid, billTableName);
|
||||
sendMsgForSuccess(sqr,bh,Util.getIntValue(requestid));
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
writeLog("补助提醒异常"+e.getMessage());
|
||||
}
|
||||
|
||||
return Action.SUCCESS;
|
||||
}
|
||||
|
||||
private void sendMsgForSuccess(String userid, String oaTrvlBnsExpnsAcctNo, int requestid) {
|
||||
MessageType messageType = MessageType.newInstance(1371); // 消息来源(见文档第四点补充 必填)
|
||||
Set<String> userIdList = new HashSet<>(); // 接收人id 必填
|
||||
String[] useridArr = userid.split(",");
|
||||
String proplinkUrl = Prop.getPropValue("subsidy_reminder", "linkUrl");
|
||||
String proplinkMobileUrl = Prop.getPropValue("subsidy_reminder", "linkMobileUrl");
|
||||
for (String s : useridArr) {
|
||||
userIdList.add(s);
|
||||
}
|
||||
String title = "您有新的差旅补助到账,请您查收"; // 标题
|
||||
String context = "差补报销(" + oaTrvlBnsExpnsAcctNo + ")";
|
||||
String linkUrl = "/spa/workflow/static4form/index.html#/main/workflow/req?requestid=" + requestid; // PC端链接
|
||||
String linkMobileUrl = "/spa/workflow/static4mobileform/index.html#/req?requestid=" + requestid; // 移动端链接
|
||||
try {
|
||||
MessageBean messageBean = Util_Message.createMessage(messageType, userIdList, title, context, linkUrl, linkMobileUrl);
|
||||
messageBean.setCreater(1);// 创建人id
|
||||
//message.setBizState("0");// 需要修改消息为已处理等状态时传入,表示消息最初状态为待处理
|
||||
//messageBean.setTargetId("121|22"); //消息来源code +“|”+业务id需要修改消息为已处理等状态时传入
|
||||
Util_Message.store(messageBean);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public String getsqrbyReqid(String requestid, String tableName) {
|
||||
RecordSet recordSet = new RecordSet();
|
||||
HashMap<String, String> resultMap = new HashMap<>();
|
||||
String sql = "select jbrxm from " + tableName + " where requestid = ?";
|
||||
recordSet.executeQuery(sql, requestid);
|
||||
recordSet.next();
|
||||
return Util.null2String(recordSet.getString("jbrxm"));
|
||||
|
||||
}
|
||||
|
||||
public String getBHbyreqId(String requestid, String tableName) {
|
||||
RecordSet recordSet = new RecordSet();
|
||||
HashMap<String, String> resultMap = new HashMap<>();
|
||||
String sql = "select djbh from " + tableName + " where requestid = ?";
|
||||
recordSet.executeQuery(sql, requestid);
|
||||
recordSet.next();
|
||||
return Util.null2String(recordSet.getString("djbh"));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue