浏览代码

POS订单消息推送

jk-GitHub-coder 4 年之前
父节点
当前提交
c2cb2123c7
共有 1 个文件被更改,包括 75 次插入0 次删除
  1. 75 0
      YijiaRestful/src/main/java/com/platform/yijia/utils/PosPrinterUtil.java

+ 75 - 0
YijiaRestful/src/main/java/com/platform/yijia/utils/PosPrinterUtil.java

@@ -0,0 +1,75 @@
+package com.platform.yijia.utils;
+
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <Title> PosPrinterUtil </Title>
+ * <Description> Pos机打印订单小票工具类 </Description>
+ * <Date> 2021年5月6日16:49:40 </Date>
+ * <Author> JK </Author>
+ */
+
+public class PosPrinterUtil {
+
+    private static Logger logger =(Logger) LoggerFactory.getLogger(PosPrinterUtil.class);
+    //POS机打印订单小票地址 http://www.huijy.net/mqapi/sendPosPrintDirectMessage
+    public static final String SEND_POS_PRINT_MESSAGE_URL = "http://www.huijy.net/mqapi/sendPosPrintDirectMessage";
+
+    //{"orderId":2061,"orderNo":"11900429834492007021278","oilGun":"1","oilName":"92#","consumerId":24,"consumer":"M","amt":0.01,"stationId":1,
+    // "status":"1","orderLiters":"0.0","payType":"wx","payWay":"03","payDate":"May 6, 2021 5:16:25 PM","oilPersonnel":"小谁,wwew",
+    // "createdDate":"May 6, 2021 5:16:12 PM","orderType":"1","oilPirce":"6.89","stationName":"中化加油站","receivableAmt":0.01,"receivedAmt":0.01,
+    // "discountAmt":0.0,"wxAmt":0.01,"printCount":1,"oilType":"2"}
+
+    //推送要打印小票的信息
+    public static void sendPosPrintTopicMessage(Map<String, Object> args){
+
+        Map<String, Object> params = new HashMap<>();
+        params.put("messageTitle", "pos");
+        params.put("messageType", "sys");
+        List<Map<String, Object>> list = new ArrayList<>();
+        list.add(args);
+        Map<String, Object> map = new HashMap<>();
+        map.put("contentData", list);
+        params.put("messageContent", map);
+
+        //创建请求
+        CloseableHttpClient httpClients = HttpClients.createDefault();
+        CloseableHttpResponse response = null;
+        try {
+            HttpPost httpPost = new HttpPost(SEND_POS_PRINT_MESSAGE_URL);
+            List<NameValuePair> nameValuePairList = new ArrayList<>();
+            for (String key : params.keySet()){
+                nameValuePairList.add(new BasicNameValuePair(key, params.get(key).toString()));
+            }
+            UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(nameValuePairList);
+            httpPost.setEntity(urlEncodedFormEntity);
+            response = httpClients.execute(httpPost);
+            String resultString = EntityUtils.toString(response.getEntity(), "utf-8");
+            logger.info("POS推送订单消息结果:" +resultString);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }finally {
+            try {
+                response.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+}