| New file | 
 |  |  | 
 |  |  | 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; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * 牛眼四向穿梭车HTTP请求工具类 | 
 |  |  |  */ | 
 |  |  | 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; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     //获取更新层坐标Z(楼层)命令 | 
 |  |  |     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");//更新层Z | 
 |  |  |         body.put("z", z);//坐标Z | 
 |  |  |         request.setBody(body); | 
 |  |  |  | 
 |  |  |         httpStandard.setRequest(request); | 
 |  |  |         return httpStandard; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     //获取读FAS状态信息命令 | 
 |  |  |     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");//读FAS状态信息 | 
 |  |  |         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(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |