|
@@ -0,0 +1,83 @@
|
|
|
+package com.szwl.handle;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.szwl.model.entity.MqttMsg;
|
|
|
+import com.szwl.model.entity.TEquipment;
|
|
|
+import com.szwl.model.entity.TEquipmentDesc;
|
|
|
+import com.szwl.model.jsonParm.HeartParam;
|
|
|
+import com.szwl.service.MqttMsgService;
|
|
|
+import com.szwl.service.TEquipmentDescService;
|
|
|
+import com.szwl.service.TEquipmentService;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 心跳消息处理
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Component
|
|
|
+public class HeartMessageHandler implements MqttMessageHandler{
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MqttMsgService mqttMsgService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TEquipmentService equipmentService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TEquipmentDescService equipmentDescService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void handle(String topic, String payload) {
|
|
|
+ HeartParam heartParam = JSON.parseObject(payload, HeartParam.class);
|
|
|
+ String clientId = heartParam.getClientId();
|
|
|
+ MqttMsg mqttMsg = new MqttMsg();
|
|
|
+ mqttMsg.setCreateDate(new Date());
|
|
|
+ mqttMsg.setClientId(clientId);
|
|
|
+ mqttMsg.setTopic(topic);
|
|
|
+ mqttMsg.setMessage(payload);
|
|
|
+ mqttMsgService.save(mqttMsg);
|
|
|
+
|
|
|
+ // 查询设备
|
|
|
+ LambdaQueryWrapper<TEquipment> query = Wrappers.lambdaQuery();
|
|
|
+ query.eq(TEquipment::getClientId, clientId);
|
|
|
+ TEquipment equipment = equipmentService.getOne(query);
|
|
|
+ if (equipment != null) {
|
|
|
+ equipment.setCabinetHd(heartParam.getCabinetHd());
|
|
|
+ equipment.setCabinetTm(heartParam.getCabinetTm());
|
|
|
+ equipment.setEqeStatus(heartParam.getEqeStatus());
|
|
|
+ equipment.setFurnaceSp(heartParam.getFurnaceSp());
|
|
|
+ equipment.setFurnaceTm(heartParam.getFurnaceTm());
|
|
|
+ equipment.setGtClientId(heartParam.getGtClientId());
|
|
|
+ equipment.setIsSleep(heartParam.isSleep());
|
|
|
+ equipment.setLastUpdateTime(heartParam.getLastUpdateTime());
|
|
|
+ equipment.setLatitude(heartParam.getLatitude());
|
|
|
+ equipment.setLongitude(heartParam.getLongitude());
|
|
|
+ equipment.setManagerId(heartParam.getManagerId());
|
|
|
+ equipment.setNetWorkingMode(heartParam.getNetWorkingMode());
|
|
|
+ equipment.setVolume(heartParam.getVolume());
|
|
|
+ equipmentService.updateById(equipment);
|
|
|
+ // 更新数据
|
|
|
+ TEquipmentDesc equipmentDesc = equipmentDescService.getById(equipment.getId());
|
|
|
+ if (equipmentDesc != null) {
|
|
|
+ equipmentDesc.setBlueSugar(heartParam.getBlueSugar());
|
|
|
+ equipmentDesc.setCandyGeneratorTm(heartParam.getCandyGeneratorTm());
|
|
|
+ equipmentDesc.setNumberOne(heartParam.getNumberOne());
|
|
|
+ equipmentDesc.setOutsideHd(heartParam.getOutsideHd());
|
|
|
+ equipmentDesc.setOutsideTm(heartParam.getOutsideTm());
|
|
|
+ equipmentDesc.setRedSugar(heartParam.getRedSugar());
|
|
|
+ equipmentDesc.setStick(heartParam.getStick());
|
|
|
+ equipmentDesc.setWater(heartParam.getWater());
|
|
|
+ equipmentDesc.setWasteWater(heartParam.getWasteWater());
|
|
|
+ equipmentDesc.setWhiteSugar(heartParam.getWhiteSugar());
|
|
|
+ equipmentDesc.setYellowSugar(heartParam.getYellowSugar());
|
|
|
+ equipmentDescService.updateById(equipmentDesc);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|