|
@ -2,14 +2,13 @@ package com.qyft.gd.device.service; |
|
|
|
|
|
|
|
|
import cn.hutool.json.JSONUtil; |
|
|
import cn.hutool.json.JSONUtil; |
|
|
import com.qyft.gd.device.client.TcpClient; |
|
|
import com.qyft.gd.device.client.TcpClient; |
|
|
import com.qyft.gd.device.common.jsonrpc.JsonRpcRequest; |
|
|
|
|
|
import com.qyft.gd.device.model.bo.DeviceFeedback; |
|
|
import com.qyft.gd.device.model.bo.DeviceFeedback; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.RequiredArgsConstructor; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
import java.util.HashMap; |
|
|
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
@Slf4j |
|
|
@Slf4j |
|
|
@Service |
|
|
@Service |
|
@ -24,6 +23,13 @@ public class DeviceService { |
|
|
* @param distance 移动距离 |
|
|
* @param distance 移动距离 |
|
|
*/ |
|
|
*/ |
|
|
public boolean moveRailArmRail(double distance) { |
|
|
public boolean moveRailArmRail(double distance) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("distance", distance); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("moveRailArmRail", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP moveRailArmRail 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -35,6 +41,15 @@ public class DeviceService { |
|
|
* @param distance 移动距离 |
|
|
* @param distance 移动距离 |
|
|
*/ |
|
|
*/ |
|
|
public boolean moveRailArmJoint(double joint1, double joint2, double distance) { |
|
|
public boolean moveRailArmJoint(double joint1, double joint2, double distance) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("joint1", joint1); |
|
|
|
|
|
params.put("joint2", joint2); |
|
|
|
|
|
params.put("distance", distance); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("moveRailArmJoint", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP moveRailArmJoint 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -46,6 +61,15 @@ public class DeviceService { |
|
|
* @param z 坐标z |
|
|
* @param z 坐标z |
|
|
*/ |
|
|
*/ |
|
|
public boolean moveRailArmToPoint(int x, int y, int z) { |
|
|
public boolean moveRailArmToPoint(int x, int y, int z) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("x", x); |
|
|
|
|
|
params.put("y", y); |
|
|
|
|
|
params.put("z", z); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("moveRailArmToPoint", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP moveRailArmToPoint 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -55,6 +79,13 @@ public class DeviceService { |
|
|
* @param speed 速度值 |
|
|
* @param speed 速度值 |
|
|
*/ |
|
|
*/ |
|
|
public boolean setRailArmSpeed(int speed) { |
|
|
public boolean setRailArmSpeed(int speed) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("speed", speed); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("setRailArmSpeed", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP setRailArmSpeed 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -62,16 +93,9 @@ public class DeviceService { |
|
|
* 开门 |
|
|
* 开门 |
|
|
*/ |
|
|
*/ |
|
|
public boolean openDoor() { |
|
|
public boolean openDoor() { |
|
|
JsonRpcRequest request = new JsonRpcRequest(); |
|
|
|
|
|
request.setMethod("openDoor"); |
|
|
|
|
|
List<String> list = new ArrayList<>(); |
|
|
|
|
|
list.add("1"); |
|
|
|
|
|
list.add("2"); |
|
|
|
|
|
list.add("3"); |
|
|
|
|
|
request.setParams(list); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand(request); |
|
|
|
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("openDoor"); |
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
log.info("TCP openDoor指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
|
|
|
log.error("TCP openDoor 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
return false; |
|
|
return false; |
|
|
} |
|
|
} |
|
|
return true; |
|
|
return true; |
|
@ -81,6 +105,35 @@ public class DeviceService { |
|
|
* 关门 |
|
|
* 关门 |
|
|
*/ |
|
|
*/ |
|
|
public boolean closeDoor() { |
|
|
public boolean closeDoor() { |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("closeDoor"); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP closeDoor 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
return true; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 张开夹爪 |
|
|
|
|
|
*/ |
|
|
|
|
|
public boolean openClaw() { |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("openClaw"); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP openClaw 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
return true; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 收合夹爪 |
|
|
|
|
|
*/ |
|
|
|
|
|
public boolean closeClaw() { |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("closeClaw"); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP closeClaw 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -91,6 +144,14 @@ public class DeviceService { |
|
|
* @param joint2 关节2角度 |
|
|
* @param joint2 关节2角度 |
|
|
*/ |
|
|
*/ |
|
|
public boolean moveLiquidArmJoint(double joint1, double joint2) { |
|
|
public boolean moveLiquidArmJoint(double joint1, double joint2) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("joint1", joint1); |
|
|
|
|
|
params.put("joint2", joint2); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("moveLiquidArmJoint", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP moveLiquidArmJoint 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -102,6 +163,15 @@ public class DeviceService { |
|
|
* @param z 坐标z |
|
|
* @param z 坐标z |
|
|
*/ |
|
|
*/ |
|
|
public boolean moveLiquidArmToPoint(int x, int y, int z) { |
|
|
public boolean moveLiquidArmToPoint(int x, int y, int z) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("x", x); |
|
|
|
|
|
params.put("y", y); |
|
|
|
|
|
params.put("z", z); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("moveLiquidArmToPoint", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP moveLiquidArmToPoint 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -111,6 +181,13 @@ public class DeviceService { |
|
|
* @param speed 速度值 |
|
|
* @param speed 速度值 |
|
|
*/ |
|
|
*/ |
|
|
public boolean setLiquidArmSpeed(int speed) { |
|
|
public boolean setLiquidArmSpeed(int speed) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("speed", speed); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("setLiquidArmSpeed", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP setLiquidArmSpeed 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -121,6 +198,14 @@ public class DeviceService { |
|
|
* @param volume 液体体积 |
|
|
* @param volume 液体体积 |
|
|
*/ |
|
|
*/ |
|
|
public boolean addLiquid(int pumpId, int volume) { |
|
|
public boolean addLiquid(int pumpId, int volume) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("pumpId", pumpId); |
|
|
|
|
|
params.put("volume", volume); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("addLiquid", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP addLiquid 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -132,6 +217,14 @@ public class DeviceService { |
|
|
* @param flowRate 流量值 |
|
|
* @param flowRate 流量值 |
|
|
*/ |
|
|
*/ |
|
|
public boolean setFlowRate(int pumpId, int flowRate) { |
|
|
public boolean setFlowRate(int pumpId, int flowRate) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("pumpId", pumpId); |
|
|
|
|
|
params.put("flowRate", flowRate); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("setFlowRate", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP setFlowRate 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -139,6 +232,11 @@ public class DeviceService { |
|
|
* 开始摇匀 |
|
|
* 开始摇匀 |
|
|
*/ |
|
|
*/ |
|
|
public boolean startShaking() { |
|
|
public boolean startShaking() { |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("startShaking"); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP startShaking 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -146,6 +244,11 @@ public class DeviceService { |
|
|
* 停止摇匀 |
|
|
* 停止摇匀 |
|
|
*/ |
|
|
*/ |
|
|
public boolean stopShaking() { |
|
|
public boolean stopShaking() { |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("stopShaking"); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP stopShaking 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -155,6 +258,13 @@ public class DeviceService { |
|
|
* @param speed 速度值 |
|
|
* @param speed 速度值 |
|
|
*/ |
|
|
*/ |
|
|
public boolean setShakingSpeed(int speed) { |
|
|
public boolean setShakingSpeed(int speed) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("speed", speed); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("setShakingSpeed", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP setShakingSpeed 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -164,6 +274,13 @@ public class DeviceService { |
|
|
* @param distance 距离 |
|
|
* @param distance 距离 |
|
|
*/ |
|
|
*/ |
|
|
public boolean moveTrayToHeight(double distance) { |
|
|
public boolean moveTrayToHeight(double distance) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("distance", distance); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("moveTrayToHeight", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP moveTrayToHeight 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -173,6 +290,13 @@ public class DeviceService { |
|
|
* @param speed 速度值 |
|
|
* @param speed 速度值 |
|
|
*/ |
|
|
*/ |
|
|
public boolean setTraySpeed(int speed) { |
|
|
public boolean setTraySpeed(int speed) { |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("speed", speed); |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("setTraySpeed", params); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP setTraySpeed 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -180,6 +304,11 @@ public class DeviceService { |
|
|
* 拍照 |
|
|
* 拍照 |
|
|
*/ |
|
|
*/ |
|
|
public boolean takePhoto() { |
|
|
public boolean takePhoto() { |
|
|
|
|
|
DeviceFeedback deviceFeedback = tcpClient.sendCommand("takePhoto"); |
|
|
|
|
|
if (deviceFeedback == null || deviceFeedback.getError() != null) { |
|
|
|
|
|
log.error("TCP takePhoto 指令执行错误 {}", JSONUtil.toJsonStr(deviceFeedback)); |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
return true; |
|
|
return true; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |