From 41ac27fbf8c61af9b9a3bdfa53a8dc9069fa317a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 26 七月 2023 10:44:21 +0800
Subject: [PATCH] 牛眼四向穿梭车HTTP请求工具类

---
 src/main/java/com/zy/common/utils/NyHttpUtils.java                |  271 +++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/zy/core/model/command/NyShuttleHttpCommand.java |   40 ++++++
 2 files changed, 311 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/common/utils/NyHttpUtils.java b/src/main/java/com/zy/common/utils/NyHttpUtils.java
new file mode 100644
index 0000000..e34f52e
--- /dev/null
+++ b/src/main/java/com/zy/common/utils/NyHttpUtils.java
@@ -0,0 +1,271 @@
+package com.zy.common.utils;
+
+import com.zy.common.model.NavigateNode;
+import com.zy.core.model.command.NyShuttleHttpCommand;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+
+/**
+ * 鐗涚溂鍥涘悜绌挎杞TTP璇锋眰宸ュ叿绫�
+ */
+public class NyHttpUtils {
+
+    //鑾峰彇HTTP璇锋眰鏍囧噯缁撴瀯浣�
+    public static NyShuttleHttpCommand getHttpStandard(Integer shuttleNo) {
+        NyShuttleHttpCommand httpStandard = new NyShuttleHttpCommand();
+        httpStandard.setMsgType("requestMsg");//璇锋眰娑堟伅
+        httpStandard.setRobotId(shuttleNo);//杞﹁締缂栧彿
+
+        //璁剧疆璇锋眰娑堟伅
+        NyShuttleHttpCommand.NyRequest request = new NyShuttleHttpCommand.NyRequest();
+        NyShuttleHttpCommand.NyRequest.NyHeader header = new NyShuttleHttpCommand.NyRequest.NyHeader();
+        header.setVersion("1.0");//鐗堟湰鍙�
+        header.setRequestId(getRequestId());//娑堟伅缂栧彿
+
+        //璁剧疆璇锋眰澶�
+        request.setHeader(header);
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇FAS 鎵嬪姩/鑷姩鍒囨崲
+    public static NyShuttleHttpCommand getFASSwitchCommand(Integer shuttleNo, boolean auto) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", auto ? "switchAuto" : "switchManual");
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇绉诲姩璇锋眰
+    public static NyShuttleHttpCommand getMoveCommand(Integer shuttleNo, Integer wrkNo, NavigateNode start, NavigateNode target) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", "move");//绉诲姩鍛戒护
+        body.put("taskId", wrkNo);//浠诲姟鍙�
+        body.put("start", start);//璧风偣
+        body.put("target", target);//缁堢偣
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇杩涘嚭鎻愬崌鏈鸿姹�
+    public static NyShuttleHttpCommand getInOutLiftCommand(Integer shuttleNo, Integer wrkNo, NavigateNode start, NavigateNode target, boolean in) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", in ? "intoLift" : "outLift");//杩涘嚭鎻愬崌鏈�
+        body.put("taskId", wrkNo);//浠诲姟鍙�
+        body.put("start", start);//璧风偣
+        body.put("target", target);//缁堢偣
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇椤跺崌鍛戒护
+    public static NyShuttleHttpCommand getPalletLiftCommand(Integer shuttleNo, Integer wrkNo, boolean lift) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", lift ? "liftUp" : "liftDown");//椤跺崌鎴栦笅闄嶅懡浠�
+        body.put("taskId", wrkNo);//浠诲姟鍙�
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇鍏呯數鍛戒护
+    public static NyShuttleHttpCommand getChargeCommand(Integer shuttleNo, Integer wrkNo, boolean charge) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", charge ? "charge" : "stopCharge");//鍏呯數鎴栧仠姝㈠厖鐢�
+        body.put("taskId", wrkNo);//浠诲姟鍙�
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇绠″埗鍛戒护
+    public static NyShuttleHttpCommand getSuspendCommand(Integer shuttleNo, Integer wrkNo, boolean suspend) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", suspend ? "stop" : "resume");//绠″埗鎴栧彇娑堢鍒�
+        body.put("taskId", wrkNo);//浠诲姟鍙�
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇鏇存柊灞傚潗鏍嘮(妤煎眰)鍛戒护
+    public static NyShuttleHttpCommand getUpdateZCommand(Integer shuttleNo, Integer z) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", "updateFloor");//鏇存柊灞俍
+        body.put("z", z);//鍧愭爣Z
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇璇籉AS鐘舵�佷俊鎭懡浠�
+    public static NyShuttleHttpCommand getReadStatusCommand(Integer shuttleNo) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", "readState");//璇籉AS鐘舵�佷俊鎭�
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇鏇存柊FAS鍩哄噯鍦板浘鍛戒护
+    public static NyShuttleHttpCommand getUpdateFASBaseMapCommand(Integer shuttleNo, Integer xBase, Integer yBase, Integer zBase, Integer xEnd, Integer yEnd, Integer zEnd, Integer xBaseCoord, Integer yBaseCoord, Integer xDefaultSpace, Integer yDefaultSpace) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", "updateMapStandard");//鏇存柊FAS鍩哄噯鍦板浘
+
+        HashMap<String, Object> standard = new HashMap<>();
+        standard.put("xBase", xBase);//搴撲綅X鍚戝熀鐐�
+        standard.put("yBase", yBase);//搴撲綅Y鍚戝熀鐐�
+        standard.put("zBase", zBase);//搴撲綅Z鍚戝熀鐐�
+        standard.put("xEnd", xEnd);//搴撲綅X鍚戠粓鐐�
+        standard.put("yEnd", yEnd);//搴撲綅Y鍚戠粓鐐�
+        standard.put("zEnd", zEnd);//搴撲綅Z鍚戠粓鐐�
+        standard.put("xBaseCoord", xBaseCoord);//搴撲綅X鍚戝熀鐐瑰潗鏍� 鍗曚綅mm
+        standard.put("yBaseCoord", yBaseCoord);//搴撲綅Y鍚戝熀鐐瑰潗鏍� 鍗曚綅mm
+        standard.put("xDefaultSpace", xDefaultSpace);//搴撲綅X鍚戞爣鍑嗛棿璺� 鍗曚綅mm
+        standard.put("yDefaultSpace", yDefaultSpace);//搴撲綅Y鍚戞爣鍑嗛棿璺� 鍗曚綅mm
+        body.put("standard", standard);
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇鏇存柊FAS鐗规畩X杞村湴鍥惧懡浠�
+    public static NyShuttleHttpCommand getUpdateMapSpecialXAxisCommand(Integer shuttleNo, List<Map<String, Object>> list) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", "updateMapSpecialXAxis");//鏇存柊FAS鐗规畩X杞村湴鍥�
+        body.put("specialXAxis", list);
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇鏇存柊FAS鐗规畩Y杞村湴鍥惧懡浠�
+    public static NyShuttleHttpCommand getUpdateMapSpecialYAxisCommand(Integer shuttleNo, List<Map<String, Object>> list) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", "updateMapSpecialYAxis");//鏇存柊FAS鐗规畩Y杞村湴鍥�
+        body.put("specialYAxis", list);
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇鏇存柊FAS鐗规畩搴撲綅鐐瑰湴鍥惧懡浠�
+    public static NyShuttleHttpCommand getUpdateMapSpecialPointCommand(Integer shuttleNo, List<Map<String, Object>> list) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", "updateMapSpecialPoint");//鏇存柊FAS鐗规畩搴撲綅鐐瑰湴鍥�
+        body.put("specialPoint", list);
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇鏇存柊FAS鎻愬崌鏈虹偣浣嶅湴鍥惧懡浠�
+    public static NyShuttleHttpCommand getUpdateMapDevicePointCommand(Integer shuttleNo, List<Map<String, Object>> list) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", "updateMapDevicePoint");//鏇存柊FAS鎻愬崌鏈虹偣浣嶅湴鍥�
+        body.put("devicePoint", list);
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇鍗曚釜RFID褰曞啓鍛戒护
+    public static NyShuttleHttpCommand getWriteSingleRFIDCommand(Integer shuttleNo, Integer xPoint, Integer yPoint, Integer zPoint) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", "WriteSingleRFID");//鍗曚釜RFID褰曞啓
+        body.put("xPoint", xPoint);//X 鐐逛綅
+        body.put("yPoint", yPoint);//Y 鐐逛綅
+        body.put("zPoint", zPoint);//Z 鐐逛綅
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇鑷姩褰曞啓RFID鍛戒护
+    public static NyShuttleHttpCommand getAutoWriteRFIDCommand(Integer shuttleNo, Integer dir, Integer xBase, Integer yBase, Integer zBase, Integer pointEnd, List<Integer> specialPoint) {
+        NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo);
+        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
+
+        HashMap<String, Object> body = new HashMap<>();
+        body.put("requestType", "AutoWriteRFID");//鑷姩褰曞啓RFID
+        body.put("requestCode", dir);//鏂瑰悜xDir/yDir
+        body.put("xBase", xBase);//X 璧峰鐐逛綅
+        body.put("yBase", yBase);//Y 璧峰鐐逛綅
+        body.put("zBase", zBase);//Z 璧峰鐐逛綅
+        body.put("pointEnd", pointEnd);//缁堢偣鍧愭爣 鏍规嵁requestCode鏉ュ喅瀹氱粓鐐瑰潗鏍囩殑鏂瑰悜
+        body.put("specialPoint", specialPoint);//鐗规畩鐐逛綅杩囩▼涓笉闇�瑕佸綍鍒剁殑RFID鐐逛綅
+        request.setBody(body);
+
+        httpStandard.setRequest(request);
+        return httpStandard;
+    }
+
+    //鑾峰彇璇锋眰缂栧彿
+    public static Integer getRequestId() {
+        Random random = new Random();
+        return random.nextInt();
+    }
+
+}
diff --git a/src/main/java/com/zy/core/model/command/NyShuttleHttpCommand.java b/src/main/java/com/zy/core/model/command/NyShuttleHttpCommand.java
new file mode 100644
index 0000000..172c49d
--- /dev/null
+++ b/src/main/java/com/zy/core/model/command/NyShuttleHttpCommand.java
@@ -0,0 +1,40 @@
+package com.zy.core.model.command;
+
+import lombok.Data;
+import java.util.Map;
+
+@Data
+public class NyShuttleHttpCommand {
+
+    //娑堟伅绫诲瀷
+    private String msgType;
+
+    //杞﹁締缂栧彿
+    private Integer robotId;
+
+    //璇锋眰娑堟伅
+    private NyRequest request;
+
+    @Data
+    public static class NyRequest {
+
+        //娑堟伅澶�
+        private NyHeader header;
+
+        //娑堟伅浣�
+        private Map<String, Object> body;
+
+        //HTTP璇锋眰澶�
+        @Data
+        public static class NyHeader {
+            //璇锋眰缂栧彿锛屽敮涓�缂栧彿
+            private Integer requestId;
+
+            //鐗堟湰鍙�
+            private String version;
+        }
+
+    }
+
+
+}

--
Gitblit v1.9.1