parent
aa6744d4d6
commit
226108637f
@ -1,43 +0,0 @@
|
||||
package cc.yunxi.utils;
|
||||
|
||||
import cc.yunxi.common.domain.CommonResult;
|
||||
import cc.yunxi.domain.vo.device.CommandVO;
|
||||
import cc.yunxi.domain.vo.device.DeviceStatus;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Component
|
||||
public class CommandUtil {
|
||||
|
||||
private static final int PORT = 5000;
|
||||
@Resource
|
||||
private RedisTool redisTool;
|
||||
|
||||
public CommonResult sendCommand(CommandVO command) {
|
||||
DeviceStatus status = getDeviceStatus(command.getDeviceCode());
|
||||
if (null == status) return CommonResult.error(400, "设备不在线!");
|
||||
String ip = status.getIp();
|
||||
String res = HttpUtil.post("http://" + ip + ":" + PORT + "/command", JSONUtil.toJsonStr(command), 1000);
|
||||
return JSONUtil.toBean(res, CommonResult.class);
|
||||
}
|
||||
|
||||
public CommonResult sendCommand(CommandVO command, String ip) {
|
||||
String res = HttpUtil.post("http://" + ip + ":" + PORT + "/command", JSONUtil.toJsonStr(command), 1000);
|
||||
return JSONUtil.toBean(res, CommonResult.class);
|
||||
}
|
||||
|
||||
private DeviceStatus getDeviceStatus(String deviceCode) {
|
||||
boolean exist = redisTool.existsKey(deviceCode);
|
||||
long expire = redisTool.getKeyExpire(deviceCode, TimeUnit.SECONDS);
|
||||
if (!exist || expire <= 0) {
|
||||
return null;
|
||||
}
|
||||
Object value = redisTool.getValue(deviceCode);
|
||||
if (value == null) return null;
|
||||
return JSONUtil.toBean(value.toString(), DeviceStatus.class);
|
||||
}
|
||||
}
|
Loading…
Reference in new issue