소스 검색

主板事件处理更新

skyline 1 년 전
부모
커밋
bb19b568a9

+ 1 - 1
car-wash-entity/src/main/java/com/kym/entity/miniapp/WashDevice.java

@@ -64,7 +64,7 @@ public class WashDevice extends BaseEntity {
     /**
      * 本次上电以来的时间戳
      */
-    private LocalDateTime uptimeMs;
+    private String uptimeMs;
 
     /**
      * 是否有水:-1不支持或未开启,0无水,1有水

+ 4 - 2
car-wash-service/src/main/java/com/kym/service/awoara/entity/event/handle/BootEventHandler.java

@@ -30,11 +30,13 @@ public class BootEventHandler implements AwoaraEventHandler<DeviceStateObject> {
     @Override
     public void handle(MessageBody<DeviceStateObject> message) {
         log.info(message.toString());
-        log.info("DeviceStateEventHandler");
-        // 获取设备信息 todo 要从topic中获取
+        log.info("BootEventHandler");
+        // 获取设备信息 从topic中获取
+        log.debug("topic:{}", message.getTopic());
         var topic = message.getTopic().split("/");
         var productKey = topic[1];
         var deviceName = topic[2];
+        log.debug("productKey:{},deviceName:{}", productKey, deviceName);
 
         var device = washDeviceService.lambdaQuery().eq(WashDevice::getProductKey, productKey).eq(WashDevice::getDeviceName, deviceName).one();
         // 更新设备状态

+ 1 - 1
car-wash-service/src/main/java/com/kym/service/awoara/entity/event/handle/CardEventHandler.java

@@ -6,7 +6,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 
 /**
- * ⽤户刷卡事件
+ * ⽤户刷卡事件(暂时不会有这种场景)
  * <p>
  * 注意:⽆论⽤户刷的是普通卡还是储值卡,都会上传这个事件。 对于储值卡总是可以刷卡开关机,如果设备在
  * 线则上传,不在线则不上传。各字段的意义请参考订单信息中的解释

+ 6 - 5
car-wash-service/src/main/java/com/kym/service/awoara/entity/event/handle/DeviceStateEventHandler.java

@@ -27,15 +27,16 @@ public class DeviceStateEventHandler implements AwoaraEventHandler<DeviceStateOb
         log.info(message.toString());
         log.info("DeviceStateEventHandler");
 
-        // 获取设备信息 todo 要从topic中获取
-        var productKey = "";
-        var deviceName = "";
-
+        // 获取设备信息 从topic中获取
+        log.debug("topic:{}", message.getTopic());
+        var topic = message.getTopic().split("/");
+        var productKey = topic[1];
+        var deviceName = topic[2];
         var deviceState = message.getPayload().getData().getDevice_state();
 
         // 状态更新逻辑
         washDeviceService.lambdaUpdate()
-                .set(WashDevice::getUptimeMs, deviceState.getState())
+                .set(WashDevice::getUptimeMs, deviceState.getUptime_ms())
                 .set(WashDevice::getState, deviceState.getState())
                 .set(WashDevice::getFsmState, deviceState.getFsm_state())
                 .set(WashDevice::getHasWater, deviceState.getHas_water())

+ 8 - 4
car-wash-service/src/main/java/com/kym/service/awoara/entity/event/handle/OrderCreateEventHandler.java

@@ -29,12 +29,16 @@ public class OrderCreateEventHandler implements AwoaraEventHandler<OrderInfoObje
     @Override
     public void handle(MessageBody<OrderInfoObject> message) {
         log.info(message.toString());
-        log.info("DeviceStateEventHandler");
+        log.info("OrderCreateEventHandler");
 
         OrderInfo orderInfo = message.getPayload().getData().getOrder_info();
-        // 获取设备信息 todo 要从topic中获取
-        var productKey = "";
-        var deviceName = "";
+
+        // 获取设备信息 从topic中获取
+        log.debug("topic:{}", message.getTopic());
+        var topic = message.getTopic().split("/");
+        var productKey = topic[1];
+        var deviceName = topic[2];
+        log.debug("productKey:{},deviceName:{}", productKey, deviceName);
 
         // 根据订单号查询订单,如果存在则更新订单状态为已开机
         var order = washOrderService.lambdaQuery()

+ 1 - 1
car-wash-service/src/main/java/com/kym/service/awoara/entity/event/handle/OrderUpdateEventHandler.java

@@ -34,7 +34,7 @@ public class OrderUpdateEventHandler implements AwoaraEventHandler<OrderInfoObje
     @Override
     public void handle(MessageBody<OrderInfoObject> message) {
         log.info(message.toString());
-        log.info("DeviceStateEventHandler");
+        log.info("OrderUpdateEventHandler");
 
         // 获取设备信息 todo 要从topic中获取
         var productKey = "";