PrintUtil.java 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. package com.fuint.common.util;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.TypeReference;
  4. import com.fuint.common.vo.printer.*;
  5. import java.util.List;
  6. /**
  7. * 云打印相关接口封装类
  8. *
  9. * Created by FSQ
  10. * CopyRight https://www.fuint.cn
  11. */
  12. public class PrintUtil {
  13. private static String BASE_URL = "https://open.xpyun.net/api/openapi";
  14. /**
  15. * 1.批量添加打印机
  16. * @param restRequest
  17. * @return
  18. */
  19. public static ObjectRestResponse<PrinterResult> addPrinters(AddPrinterRequest restRequest) {
  20. String url = BASE_URL + "/xprinter/addPrinters";
  21. String jsonRequest = JSON.toJSONString(restRequest);
  22. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  23. ObjectRestResponse<PrinterResult> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<PrinterResult>>(){});
  24. return result;
  25. }
  26. /**
  27. * 2.设置打印机语音类型
  28. * @param restRequest
  29. * @return
  30. */
  31. public ObjectRestResponse<Boolean> setPrinterVoiceType(SetVoiceTypeRequest restRequest) {
  32. String url = BASE_URL + "/xprinter/setVoiceType";
  33. String jsonRequest = JSON.toJSONString(restRequest);
  34. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  35. ObjectRestResponse<Boolean> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<Boolean>>(){});
  36. return result;
  37. }
  38. /**
  39. * 3.打印小票订单
  40. * @param restRequest
  41. * @return
  42. */
  43. public ObjectRestResponse<String> print(PrintRequest restRequest) {
  44. String url = BASE_URL + "/xprinter/print";
  45. String jsonRequest = JSON.toJSONString(restRequest);
  46. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  47. ObjectRestResponse<String> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<String>>(){});
  48. return result;
  49. }
  50. /**
  51. * 4.打印标签订单
  52. *
  53. * @param restRequest
  54. * @return
  55. */
  56. public ObjectRestResponse<String> printLabel(PrintRequest restRequest) {
  57. String url = BASE_URL + "/xprinter/printLabel";
  58. String jsonRequest = JSON.toJSONString(restRequest);
  59. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  60. ObjectRestResponse<String> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<String>>(){});
  61. return result;
  62. }
  63. /**
  64. * 5.批量删除打印机
  65. *
  66. * @param restRequest
  67. * @return
  68. */
  69. public ObjectRestResponse<PrinterResult> delPrinters(DelPrinterRequest restRequest) {
  70. String url = BASE_URL + "/xprinter/delPrinters";
  71. String jsonRequest = JSON.toJSONString(restRequest);
  72. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  73. ObjectRestResponse<PrinterResult> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<PrinterResult>>(){});
  74. return result;
  75. }
  76. /**
  77. * 6.修改打印机信息
  78. *
  79. * @param restRequest
  80. * @return
  81. */
  82. public ObjectRestResponse<Boolean> updPrinter(UpdPrinterRequest restRequest) {
  83. String url = BASE_URL + "/xprinter/updPrinter";
  84. String jsonRequest = JSON.toJSONString(restRequest);
  85. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  86. ObjectRestResponse<Boolean> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<Boolean>>(){});
  87. return result;
  88. }
  89. /**
  90. * 7.清空待打印队列
  91. *
  92. * @param restRequest
  93. * @return
  94. */
  95. public ObjectRestResponse<Boolean> delPrinterQueue(PrinterRequest restRequest) {
  96. String url = BASE_URL + "/xprinter/delPrinterQueue";
  97. String jsonRequest = JSON.toJSONString(restRequest);
  98. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  99. ObjectRestResponse<Boolean> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<Boolean>>(){});
  100. return result;
  101. }
  102. /**
  103. * 8.查询订单是否打印成功
  104. *
  105. * @param restRequest
  106. * @return
  107. */
  108. public ObjectRestResponse<Boolean> queryOrderState(QueryOrderStateRequest restRequest) {
  109. String url = BASE_URL + "/xprinter/queryOrderState";
  110. String jsonRequest = JSON.toJSONString(restRequest);
  111. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  112. ObjectRestResponse<Boolean> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<Boolean>>(){});
  113. return result;
  114. }
  115. /**
  116. * 9.查询打印机某天的订单统计数
  117. *
  118. * @param restRequest
  119. * @return
  120. */
  121. public ObjectRestResponse<OrderStatisResult> queryOrderStatis(QueryOrderStatisRequest restRequest) {
  122. String url = BASE_URL + "/xprinter/queryOrderStatis";
  123. String jsonRequest = JSON.toJSONString(restRequest);
  124. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  125. ObjectRestResponse<OrderStatisResult> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<OrderStatisResult>>(){});
  126. return result;
  127. }
  128. /**
  129. * 10.查询打印机状态
  130. *
  131. * 0、离线 1、在线正常 2、在线不正常
  132. * 备注:异常一般是无纸,离线的判断是打印机与服务器失去联系超过30秒
  133. * @param restRequest
  134. * @return
  135. */
  136. public ObjectRestResponse<Integer> queryPrinterStatus(PrinterRequest restRequest) {
  137. String url = BASE_URL + "/xprinter/queryPrinterStatus";
  138. String jsonRequest = JSON.toJSONString(restRequest);
  139. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  140. ObjectRestResponse<Integer> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<Integer>>(){});
  141. return result;
  142. }
  143. /**
  144. * 11.批量查询打印机状态
  145. *
  146. * 0、离线 1、在线正常 2、在线不正常
  147. * 备注:异常一般是无纸,离线的判断是打印机与服务器失去联系超过30秒
  148. * @param restRequest
  149. * @return
  150. */
  151. public ObjectRestResponse<List<Integer>> queryPrintersStatus(PrintersRequest restRequest) {
  152. String url = BASE_URL + "/xprinter/queryPrintersStatus";
  153. String jsonRequest = JSON.toJSONString(restRequest);
  154. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  155. ObjectRestResponse<List<Integer>> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<List<Integer>>>(){});
  156. return result;
  157. }
  158. /**
  159. * 12.云喇叭播放语音
  160. *
  161. * @param restRequest
  162. * @return
  163. */
  164. public ObjectRestResponse<String> playVoice(VoiceRequest restRequest) {
  165. String url = BASE_URL + "/xprinter/playVoice";
  166. String jsonRequest = JSON.toJSONString(restRequest);
  167. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  168. ObjectRestResponse<String> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<String>>(){});
  169. return result;
  170. }
  171. /**
  172. * 13.POS指令
  173. *
  174. * @param restRequest
  175. * @return
  176. */
  177. public ObjectRestResponse<String> pos(PrintRequest restRequest) {
  178. String url = BASE_URL + "/xprinter/pos";
  179. String jsonRequest = JSON.toJSONString(restRequest);
  180. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  181. ObjectRestResponse<String> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<String>>(){});
  182. return result;
  183. }
  184. /**
  185. * 14.钱箱控制
  186. *
  187. * @param restRequest
  188. * @return
  189. */
  190. public ObjectRestResponse<String> controlBox(PrintRequest restRequest) {
  191. String url = BASE_URL + "/xprinter/controlBox";
  192. String jsonRequest = JSON.toJSONString(restRequest);
  193. String resp = HttpClientUtil.doPostJSON(url, jsonRequest);
  194. ObjectRestResponse<String> result = JSON.parseObject(resp, new TypeReference<ObjectRestResponse<String>>(){});
  195. return result;
  196. }
  197. }