|
@@ -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();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|