diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java b/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java index 71a25ea..f601c46 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java @@ -526,6 +526,8 @@ public class DeviceController { UserDTO user = UserContext.getUser(); String deviceCode = cmd.getDeviceCode(); Object value = redisTool.getValue(deviceCode); + Long expire = redisTool.getKeyExpire(deviceCode, TimeUnit.SECONDS); + log.info("@@@@@ 过期时间:{}", expire); if (null == value) return CommonResult.error(400, "设备不在线"); DeviceStatus status = JSONUtil.toBean(value.toString(), DeviceStatus.class); // 判断设备是否在线 @@ -542,14 +544,14 @@ public class DeviceController { if (null != cmd.getData() && StrUtil.isNotEmpty(cmd.getData().toString())) { event.setBucketCode(cmd.getData().toString());//桶编码 } - - event.setEventType(deviceCode); + RecycleDevice device = deviceService.getByDeviceCode(deviceCode); + event.setEventType(cmd.getCmd().getValue()); event.setEventDesc("设备命令下发"); event.setEventTime(new Date()); event.setIsLocal("0");//远程调用 - event.setCreateUserId(user.getId()); + event.setCreateUserId(null != user ? user.getId() : null); event.setCreateTime(new Date()); - event.setCompanyId(user.getCompanyId()); + event.setCompanyId(device.getBeLongCompanyId()); eventService.save(event); return CommonResult.success("指令下发成功"); @@ -582,8 +584,10 @@ public class DeviceController { public CommonResult getStatus(@RequestBody DeviceVO deviceVO) { Object value = redisTool.getValue(deviceVO.getDeviceCode()); if (value == null) return CommonResult.error(400, "获取失败,设备不在线!"); + Long expire = redisTool.getKeyExpire(deviceVO.getDeviceCode(), TimeUnit.SECONDS); + log.info("@@@@@ 过期时间:{}", expire); DeviceStatus status = JSONUtil.toBean(value.toString(), DeviceStatus.class); - if (status.isOnline()) return CommonResult.error(400, "获取失败,设备不在线!"); + if (!status.isOnline()) return CommonResult.error(400, "获取失败,设备不在线!"); CommandVO command = new CommandVO(); command.setCmd(CMDEnum.status); command.setDeviceCode(deviceVO.getDeviceCode()); @@ -600,7 +604,7 @@ public class DeviceController { public CommonResult receiveStatus(@RequestBody DeviceStatus des, HttpServletRequest request) { String deviceCode = des.getDeviceCode(); String host = request.getRemoteHost(); - des.setIp(host);//ip +// des.setIp(host);//ip des.setOnline(true);//在线 log.info("设备编码:{},状态上报:{},host:{}", deviceCode, JSONUtil.toJsonStr(des), host); Object value = redisTool.getValue(deviceCode); @@ -642,7 +646,7 @@ public class DeviceController { } } } - redisTool.setValue(deviceCode, JSONUtil.toJsonStr(des), 1000 * 60 * 60L); + redisTool.setValue(deviceCode, JSONUtil.toJsonStr(des), 1000 * 60 * 5L);//5分钟 CommonResult success = CommonResult.success(deviceCode); success.setMsg("success"); return success; @@ -688,6 +692,7 @@ public class DeviceController { } } + @ApiOperation("更换垃圾袋") @PostMapping("/changeBag") public CommonResult changeBag(@RequestBody BagCodeReqVO bag) { boolean b = bucketService.setBagNo(bag); @@ -695,6 +700,7 @@ public class DeviceController { else return CommonResult.error(400, "error"); } + @ApiOperation("校验垃圾袋") @PostMapping("/checkBag") public CommonResult checkBag(@RequestBody BagCodeReqVO bag) { RecycleBucket bucket = bucketService.getByBag(bag); diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeviceEvent.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeviceEvent.java index 8956807..5a7339d 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeviceEvent.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeviceEvent.java @@ -38,10 +38,10 @@ public class RecycleDeviceEvent { @TableField(value = "IS_LOCAL") @ApiModelProperty("本地调用 0-否 1-是") private String isLocal; - @TableField("orderNo") + @TableField("ORDER_NO") @ApiModelProperty("订单号") private String orderNo; - @TableField("orderType") + @TableField("ORDER_TYPE") @ApiModelProperty("订单类型") private String orderType; @TableField("phone") diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeviceStatus.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeviceStatus.java index 0fee19c..b1eaca8 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeviceStatus.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeviceStatus.java @@ -15,10 +15,6 @@ public class DeviceStatus { private String deviceCode; @ApiModelProperty(value = "是否在线", hidden = true) private boolean online; - @ApiModelProperty(value = "设备ip地址", hidden = true) - private String ip; - @ApiModelProperty(value = "设备端口", hidden = true) - private Integer port; @ApiModelProperty(value = "桶状态", required = true) private List bucketList; } diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/WeightVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/WeightVO.java index ea459c8..b656deb 100644 --- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/WeightVO.java +++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/WeightVO.java @@ -16,6 +16,8 @@ public class WeightVO { private String bucketCode; @ApiModelProperty(value = "重量", required = true) private BigDecimal weight; + @ApiModelProperty(value = "是否稳定", required = true) + private boolean stable; @ApiModelProperty(value = "订单号", required = true) private String orderNo; } diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeviceServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeviceServiceImpl.java index 78805a8..e73fc8b 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeviceServiceImpl.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeviceServiceImpl.java @@ -36,7 +36,7 @@ public class RecycleDeviceServiceImpl extends ServiceImpl wrapper = new UpdateWrapper<>(); wrapper.lambda() - .set(RecycleDevice::getIpAddress, status.getIp()) +// .set(RecycleDevice::getIpAddress, status.getIp()) .set(RecycleDevice::getStatus, status.isOnline() ? 1 : 0) .eq(RecycleDevice::getDeviceCode, status.getDeviceCode()); return update(wrapper) ? 1 : 0; @@ -54,7 +54,7 @@ public class RecycleDeviceServiceImpl extends ServiceImpl