ソースを参照

一键灭火修改

xuxiaofei 3 年 前
コミット
d1c2b0d55b

+ 21 - 0
zd-api/zd-algorithm-api/src/main/java/com/zd/algorithm/api/fire/RemoteFireDeviceService.java

@@ -0,0 +1,21 @@
+package com.zd.algorithm.api.fire;
+
+import com.zd.algorithm.api.speaker.feign.fallback.RemoteSpeakFallbackFactory;
+import com.zd.model.constant.ApplicationConstants;
+import com.zd.model.domain.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+
+/***
+ *
+ * 一键灭火远程调用
+ * @author xxf
+ */
+@FeignClient(contextId = "remoteFireDeviceService",value = ApplicationConstants.ALGORITHM_SERVICE,fallbackFactory = RemoteSpeakFallbackFactory.class)
+public interface RemoteFireDeviceService {
+
+    @GetMapping(value = "/firedevice/addFireLog")
+    public R addFireLog(@RequestParam(value = "code", required = true) String code);
+}

+ 30 - 0
zd-api/zd-algorithm-api/src/main/java/com/zd/algorithm/api/fire/feign/fallback/RemoteFireDeviceFallbackFactory.java

@@ -0,0 +1,30 @@
+package com.zd.algorithm.api.fire.feign.fallback;
+
+import com.zd.algorithm.api.fire.RemoteFireDeviceService;
+import com.zd.model.domain.R;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author xxf
+ */
+@Component
+public class RemoteFireDeviceFallbackFactory implements FallbackFactory<RemoteFireDeviceService> {
+
+    private static final Logger log = LoggerFactory.getLogger(RemoteFireDeviceFallbackFactory.class);
+
+
+    @Override
+    public RemoteFireDeviceService create(Throwable cause) {
+        return new RemoteFireDeviceService() {
+            @Override
+            public R addFireLog(String code) {
+                log.info("灭火日志添加失败:" + cause.getMessage());
+                return R.fail("灭火日志添加失败:"+ cause.getMessage());
+            }
+        };
+
+    }
+}

+ 20 - 0
zd-model/src/main/java/com/zd/model/constant/CacheConstants.java

@@ -57,4 +57,24 @@ public interface CacheConstants {
      * 计时timer
      */
     String SENSOR_TiMER = "timer:";
+
+    /**
+     * 灭火设备集合
+     */
+    String FIRE_DEVICE_LIST = "fire_device_list:";
+
+    /**
+     * 灭火设备详情
+     */
+    String FIRE_DEVICE_DETAILS = "fire_device_details:";
+
+    /**
+     * 灭火设备最后响应时间
+     */
+    String FIRE_DEVICE_RESPOND_TIME = "fire_device_respond_time:";
+
+    /**
+     * 灭火设备日志是否添加
+     */
+    String FIRE_LOG_IS_EXIST = "fire_log_is_exist:";
 }

+ 4 - 4
zd-model/src/main/java/com/zd/model/constant/MqttConstants.java

@@ -82,10 +82,10 @@ public interface MqttConstants {
     String TOPIC_CABINET_LOCK = "lab/cabinetLock/";
 
     //灭火设备发送topic
-    String TOPIC_FIRE_DEVICE = "alarm/sendFire/";
+    String TOPIC_FIRE_DEVICE = "lab/sendFire/";
     //灭火设备接收topic
-    String TOPIC_FIRE_DEVICE_RECEIVE = "alarm/receiveFire/";
+    String TOPIC_FIRE_DEVICE_RECEIVE = "lab/receiveFire/";
 
-    //灭火设备异常通知预案topic
-    String TOPIC_FIRE_DEVICE_WARN = "alarm/fireDevice/Warn/";
+    //灭火设备异常通知
+    String TOPIC_FIRE_DEVICE_WARN = "lab/fireDevice/Warn/";
 }

+ 33 - 16
zd-modules/zd-algorithm/src/main/java/com/zd/alg/fire/controller/FireDeviceController.java

@@ -14,6 +14,8 @@ import com.zd.common.core.redis.RedisService;
 import com.zd.common.core.utils.StringUtils;
 import com.zd.common.core.web.controller.BaseController;
 import com.zd.laboratory.api.feign.RemoteLaboratoryService;
+import com.zd.model.constant.CacheConstants;
+import com.zd.model.constant.CacheDevice;
 import com.zd.model.domain.ResultData;
 import com.zd.model.domain.per.PerFun;
 import com.zd.model.domain.per.PerPrefix;
@@ -26,6 +28,7 @@ import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**
  * 灭火装置
@@ -96,7 +99,7 @@ public class FireDeviceController extends BaseController {
         } else {
             isexist = true;
             //获取灭火主机最后一次响应时间,判断响应是否超时
-            Long timeJson = redisService.getCacheObject(FireDeviceStatusTask.TOPIC_FD_RESPOND_TIME+list.get(0).getDeviceCode());
+            Long timeJson = redisService.getCacheObject(CacheConstants.FIRE_DEVICE_RESPOND_TIME+list.get(0).getDeviceCode());
             if (StringUtils.isNotNull(timeJson)) {
                 Long timeDiff = (System.currentTimeMillis() - timeJson) / 1000;
                 //时间差 在设置时间内
@@ -122,8 +125,9 @@ public class FireDeviceController extends BaseController {
                 outfireing = startSpray==1?true:false;
             }
 
+
             //查询该实验室是否存在火焰摄像头报警
-            JSONObject fireJson = redisService.getCacheObject("/lab/fire/85");
+            JSONObject fireJson = redisService.getCacheObject(CacheDevice.FIRE_CAMERA_KEY.getRedisKey()+subjectId);
             if (StringUtils.isNotNull(fireJson)) {
                 fire = true;
             }
@@ -163,7 +167,7 @@ public class FireDeviceController extends BaseController {
         }
 
         //获取灭火主机最后一次响应时间,判断响应是否超时
-        Long timeJson = redisService.getCacheObject(FireDeviceStatusTask.TOPIC_FD_RESPOND_TIME+deviceCode);
+        Long timeJson = redisService.getCacheObject(CacheConstants.FIRE_DEVICE_RESPOND_TIME+deviceCode);
         if (StringUtils.isNotNull(timeJson)) {
             Long timeDiff = (System.currentTimeMillis() - timeJson) / 1000;
             //时间差 在设置时间内
@@ -189,8 +193,25 @@ public class FireDeviceController extends BaseController {
             outfireing = startSpray==1?true:false;
         }
 
+        //根据采集器编号获取灭火主机详情
+        HardwareFireDeviceVO fireDeviceVo = redisService.getCacheObject(CacheConstants.FIRE_DEVICE_DETAILS+deviceCode) ;
+        Long subjectId=0L;
+        if(StringUtils.isNull(fireDeviceVo)){
+            HardwareFireDeviceVO vo = new HardwareFireDeviceVO();
+            vo.setDeviceCode(deviceCode);
+            List<HardwareFireDeviceVO> list = fireDeviceService.selectHardwareFireDeviceList(vo);
+            if(list.size()>0){
+                subjectId = list.get(0).getSubjectId();
+                redisService.setCacheObject(CacheConstants.FIRE_DEVICE_DETAILS+list.get(0).getDeviceCode(),list.get(0),300L, TimeUnit.MINUTES);
+            }else{
+                logger.info("====定时请求状态时,根据code没有查询到灭火主机详情=====");
+            }
+        }else{
+            subjectId=fireDeviceVo.getSubjectId();
+        }
+
         //查询该实验室是否存在火焰摄像头报警
-        JSONObject fireJson = redisService.getCacheObject("/lab/fire/85");
+        JSONObject fireJson = redisService.getCacheObject(CacheDevice.FIRE_CAMERA_KEY.getRedisKey()+subjectId);
         if (StringUtils.isNotNull(fireJson)) {
             fire = true;
         }
@@ -415,18 +436,14 @@ public class FireDeviceController extends BaseController {
         return ResultData.result(fireDeviceService.deleteHardwareFireDeviceByIds(ids));
     }
 
-    @GetMapping(value = "/test")
-    public ResultData test(Long subjectId) {
-        String str = fireDeviceLogService.insertFireAutomatic("28613608F0CA1");
-        String fireJson = redisService.getCacheObject("alarm/sendFire/28613608F0CA");
-        logger.info(waitTime + "");
-        return ResultData.success(str);
+    /***
+     * 一键灭火日志添加
+     * @param code
+     * @return
+     */
+    @GetMapping(value = "/addFireLog")
+    public ResultData addFireLog(String code) {
+        return ResultData.success(fireDeviceLogService.insertFireAutomatic(code));
     }
 
-    public static void main(String[] args) {
-        Map<String, Object> map = new HashMap<>();
-        map.put("flg", false);
-        map.put("str", "AAA,222,DFR");
-        System.out.println(map.toString());
-    }
 }

+ 3 - 2
zd-modules/zd-algorithm/src/main/java/com/zd/alg/fire/service/impl/FireDeviceLogServiceImpl.java

@@ -10,6 +10,7 @@ import com.zd.algorithm.api.fire.entity.vo.HardwareFireDeviceVO;
 import com.zd.common.core.redis.RedisService;
 import com.zd.common.core.utils.SaveUtil;
 import com.zd.common.core.utils.StringUtils;
+import com.zd.model.constant.CacheConstants;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -114,8 +115,8 @@ public class FireDeviceLogServiceImpl implements IFireDeviceLogService {
         System.out.println(sdf.format(date));*/
 
         // redis取值,当天日志是否添加
-        String isExist = redisService.getCacheObject(FireDeviceStatusTask.TOPIC_OUTFIRE_ISEXIST);
-        if(StringUtils.isEmpty(isExist)){
+        String isExist = redisService.getCacheObject(CacheConstants.FIRE_LOG_IS_EXIST);
+        if(StringUtils.isNotNull(isExist)){
             str="当天首次自动灭火日志已添加";
         }else{
             //根据继电器编码查询灭火设备信息

+ 2 - 1
zd-modules/zd-algorithm/src/main/java/com/zd/alg/fire/service/impl/FireDeviceServiceImpl.java

@@ -9,6 +9,7 @@ import com.zd.algorithm.api.fire.entity.vo.HardwareFireDeviceVO;
 import com.zd.common.core.exception.ServiceException;
 import com.zd.common.core.redis.RedisService;
 import com.zd.common.core.utils.SaveUtil;
+import com.zd.model.constant.CacheConstants;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -144,6 +145,6 @@ public class FireDeviceServiceImpl implements IFireDeviceService {
     private void setupRedis(){
         HardwareFireDeviceVO fireDeviceVO = new HardwareFireDeviceVO();
         List<HardwareFireDeviceVO> list = hardwareFireDeviceMapper.selectHardwareFireDeviceList(fireDeviceVO);
-        redisService.setCacheObject(FireDeviceStatusTask.REDIS_TASK_FIRE_DEVICE_LIST,list,1L, TimeUnit.MINUTES);
+        redisService.setCacheObject(CacheConstants.FIRE_DEVICE_LIST,list,1L, TimeUnit.MINUTES);
     }
 }

+ 3 - 18
zd-modules/zd-algorithm/src/main/java/com/zd/alg/fire/utils/FireDeviceStatusTask.java

@@ -5,6 +5,7 @@ import com.zd.alg.fire.service.IFireDeviceService;
 import com.zd.alg.mqtt.MqttSend;
 import com.zd.algorithm.api.fire.entity.vo.HardwareFireDeviceVO;
 import com.zd.common.core.redis.RedisService;
+import com.zd.model.constant.CacheConstants;
 import com.zd.model.constant.MqttConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -25,22 +26,6 @@ public class FireDeviceStatusTask {
 
     private static final Logger logger = LoggerFactory.getLogger(FireDeviceStatusTask.class);
 
-    /**
-     * redis键值(灭火设备集合)
-     */
-    public static final String REDIS_TASK_FIRE_DEVICE_LIST = "rdeisTaskFireDeviceList";
-
-
-    /**
-     * redis键值 灭火设备最后响应时间
-     */
-    public static final String TOPIC_FD_RESPOND_TIME = "topicFdRespondTime";
-
-    /**
-     * redis键值 灭火设备日志是否添加
-     */
-    public static final String TOPIC_OUTFIRE_ISEXIST = "topicOutfireIsExist";
-
     @Autowired
     private IFireDeviceService hardwareFireDeviceService;
     @Autowired
@@ -56,11 +41,11 @@ public class FireDeviceStatusTask {
     @Scheduled(cron = "0/20 * * * * ?")
     public void getFireDeviceStatus() {
         //redis取值
-        List<HardwareFireDeviceVO> list = JSON.parseArray(redisService.getCacheObject(REDIS_TASK_FIRE_DEVICE_LIST) + "", HardwareFireDeviceVO.class);
+        List<HardwareFireDeviceVO> list = JSON.parseArray(redisService.getCacheObject(CacheConstants.FIRE_DEVICE_LIST) + "", HardwareFireDeviceVO.class);
         if (list == null) {
             list = hardwareFireDeviceService.selectHardwareFireDeviceList(new HardwareFireDeviceVO());
             //redis存值,时效1分钟
-            redisService.setCacheObject(REDIS_TASK_FIRE_DEVICE_LIST, list, 1L, TimeUnit.MINUTES);
+            redisService.setCacheObject(CacheConstants.FIRE_DEVICE_LIST, list, 1L, TimeUnit.MINUTES);
         }
 
         if (list != null) {

+ 13 - 11
zd-modules/zd-algorithm/src/main/java/com/zd/alg/mqtt/MqttConfig.java

@@ -6,6 +6,7 @@ import com.zd.alg.fire.service.IFireDeviceLogService;
 import com.zd.alg.fire.utils.FireDeviceStatusTask;
 import com.zd.alg.fire.utils.FireLaborUtil;
 import com.zd.common.core.redis.RedisService;
+import com.zd.model.constant.CacheConstants;
 import com.zd.model.constant.MqttConstants;
 import org.apache.commons.lang3.StringUtils;
 import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
@@ -26,6 +27,7 @@ import org.springframework.integration.mqtt.support.DefaultPahoMessageConverter;
 import org.springframework.integration.mqtt.support.MqttHeaders;
 import org.springframework.messaging.*;
 
+import javax.annotation.Resource;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -37,13 +39,13 @@ import java.util.concurrent.TimeUnit;
 public class MqttConfig {
     static Logger logger = LoggerFactory.getLogger(MqttConfig.class);
 
-    @Autowired
+    @Resource
     private RedisService redisService;
 
-    @Autowired
+    @Resource
     private MqttSend mqttSend;
 
-    @Autowired
+    @Resource
     private IFireDeviceLogService deviceLogService;
 
     private static final byte[] WILL_DATA;
@@ -174,8 +176,8 @@ public class MqttConfig {
      *
      * @return
      */
-    @Bean
-    @ServiceActivator(inputChannel = MQTT_INBOUND_CHANNEL)
+    //@Bean
+    //@ServiceActivator(inputChannel = MQTT_INBOUND_CHANNEL)
     public MessageHandler mqttInbound() {
 
         return message -> {
@@ -183,7 +185,7 @@ public class MqttConfig {
             MessageHeaders messageHeaders = message.getHeaders();
             String receivedTopic = (String) messageHeaders.get(MqttHeaders.TOPIC);
             String messageStr = message.getPayload().toString();
-            if (receivedTopic.startsWith(MqttConstants.TOPIC_FIRE_DEVICE_RECEIVE)) {
+            /*if (receivedTopic.startsWith(MqttConstants.TOPIC_FIRE_DEVICE_RECEIVE)) {
                 logger.info("灭火设备消息消费,receivedTopic:" + receivedTopic + " messageStr:" + messageStr);
                 receivedTopic = receivedTopic.substring(receivedTopic.lastIndexOf("/") + 1, receivedTopic.length());
                 //根据状态指令获取主机状态
@@ -192,17 +194,17 @@ public class MqttConfig {
                 //灭火主机发生预警
                 if (fireNumber > 0) {
                     logger.info("灭火设备传感器异常,通知预案,状态:" + jsonObject.toJSONString());
-                    //redis取值
+                    //发现灭火设备异常,发送消息通知
                     mqttSend.send(MqttConstants.TOPIC_FIRE_DEVICE_WARN+receivedTopic,jsonObject.toJSONString());
                     //自动灭火
                     if (fireNumber == 2) {
                         //redis中是否已存在日志已添加标识
-                        String isExist = redisService.getCacheObject(FireDeviceStatusTask.TOPIC_OUTFIRE_ISEXIST);
+                        String isExist = redisService.getCacheObject(CacheConstants.FIRE_LOG_IS_EXIST);
                         if(StringUtils.isEmpty(isExist)){
                             //自动灭火日志添加
                             String str = deviceLogService.insertFireAutomatic(receivedTopic);
                             //redis存值,灭火日志已经添加标识
-                            redisService.setCacheObject(FireDeviceStatusTask.TOPIC_OUTFIRE_ISEXIST, str, 60L, TimeUnit.MINUTES);
+                            redisService.setCacheObject(CacheConstants.FIRE_LOG_IS_EXIST, str, 60L, TimeUnit.MINUTES);
                             logger.info("自动灭火日志添加执行结果," + str);
                         }
                     }
@@ -210,8 +212,8 @@ public class MqttConfig {
                 //redis存值 采集器编号:主机状态json
                 redisService.setCacheObject(receivedTopic, jsonObject, 1L, TimeUnit.MINUTES);
                 //redis存值 灭火主机响应时间
-                redisService.setCacheObject(FireDeviceStatusTask.TOPIC_FD_RESPOND_TIME, System.currentTimeMillis(), 1L, TimeUnit.MINUTES);
-            }
+                redisService.setCacheObject(CacheConstants.FIRE_DEVICE_RESPOND_TIME, System.currentTimeMillis(), 1L, TimeUnit.MINUTES);
+            }*/
         };
     }
 

+ 46 - 3
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mqtt/config/MqttConfig.java

@@ -2,12 +2,18 @@ package com.zd.laboratory.mqtt.config;
 
 import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.zd.algorithm.api.fire.RemoteFireDeviceService;
+import com.zd.common.core.redis.RedisService;
 import com.zd.common.core.utils.SpringUtils;
 import com.zd.laboratory.event.LabMessageEvent;
 import com.zd.laboratory.event.SensorNewStatusEvent;
 import com.zd.laboratory.mqtt.service.TerminalRouter;
+import com.zd.laboratory.mqtt.service.impl.CommonSend;
+import com.zd.laboratory.utils.FireLaborUtil;
 import com.zd.laboratory.utils.HexUtils;
+import com.zd.model.constant.CacheConstants;
 import com.zd.model.constant.MqttConstants;
+import com.zd.model.domain.R;
 import org.apache.commons.lang3.StringUtils;
 import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
 import org.slf4j.Logger;
@@ -26,7 +32,9 @@ import org.springframework.integration.mqtt.support.DefaultPahoMessageConverter;
 import org.springframework.integration.mqtt.support.MqttHeaders;
 import org.springframework.messaging.*;
 
+import javax.annotation.Resource;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -51,6 +59,15 @@ public class MqttConfig {
 
     public static final String MQTT_OUTBOUND_CHANNEL = "mqttOutboundChannel";
 
+    @Resource
+    CommonSend commonSend;
+
+    @Resource
+    RedisService redisService;
+
+    @Resource
+    RemoteFireDeviceService remoteFireDeviceService;
+
     @Value("${mqtt.username:}")
     private String username;
 
@@ -198,8 +215,8 @@ public class MqttConfig {
             public void handleMessage(Message<?> message) throws MessagingException {
                 MessageHeaders messageHeaders = message.getHeaders();
                 String receivedTopic = (String) messageHeaders.get(MqttHeaders.RECEIVED_TOPIC);
-//                logger.info("[通道] - [{}]",receivedTopic);
-//                logger.info("[消息] - [{}]",message.getPayload());
+                logger.info("[通道] - [{}]",receivedTopic);
+                logger.info("[消息] - [{}]",message.getPayload());
                 String messageStr = message.getPayload().toString();
                 if (receivedTopic.startsWith(devicePrefix)) {
                     if (receivedTopic.contains("788D4C6C6187ABC")) {
@@ -250,8 +267,34 @@ public class MqttConfig {
                             String relayCode = prefix[prefix.length - 1];
                             TerminalRouter.routerMap.get("HxpLockService").offLine(relayCode);
                         }
-
+                }}else if(receivedTopic.startsWith(MqttConstants.TOPIC_FIRE_DEVICE_RECEIVE)){
+                    logger.info("灭火消息消费,receivedTopic:" + receivedTopic + " messageStr:" + messageStr);
+                    receivedTopic = receivedTopic.substring(receivedTopic.lastIndexOf("/") + 1, receivedTopic.length());
+                    //根据状态指令获取主机状态
+                    JSONObject jsonObject = FireLaborUtil.getFireStatus(messageStr);
+                    Integer fireNumber = Integer.valueOf(jsonObject.get("fireNumber").toString());
+                    //灭火主机发生预警
+                    if (fireNumber > 0) {
+                        logger.info("灭火设备传感器异常,通知预案,状态:" + jsonObject.toJSONString());
+                        //发现灭火设备异常,发送消息通知
+                        commonSend.send(MqttConstants.TOPIC_FIRE_DEVICE_WARN+receivedTopic,jsonObject.toJSONString());
+                        if (fireNumber == 2) {
+                            logger.info("=====>>>>>>发现自动灭火");
+                            String isExist = redisService.getCacheObject(CacheConstants.FIRE_LOG_IS_EXIST);
+                            //redis中是否已存在日志已添加标识
+                            if(StringUtils.isEmpty(isExist)){
+                                //自动灭火日志添加
+                                R r = remoteFireDeviceService.addFireLog(receivedTopic);
+                                //redis存值,灭火日志已经添加标识
+                                redisService.setCacheObject(CacheConstants.FIRE_LOG_IS_EXIST, r.getData(), 60L, TimeUnit.MINUTES);
+                                logger.info("灭火日志添加执行结果," + r.getData());
+                            }
+                        }
                     }
+                    //redis存值 采集器编号:主机状态json
+                    redisService.setCacheObject(receivedTopic, jsonObject, 1L, TimeUnit.MINUTES);
+                    //redis存值 灭火主机响应时间
+                    redisService.setCacheObject(CacheConstants.FIRE_DEVICE_RESPOND_TIME, System.currentTimeMillis(), 1L, TimeUnit.MINUTES);
                 }
 
                 // TODO

+ 6 - 5
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/utils/FireLaborUtil.java

@@ -89,17 +89,17 @@ public class FireLaborUtil {
     }
 
 
-    public static JSONObject getFireStatus(String returnCode){
+    public static JSONObject getFireStatus(String returnCodes){
         boolean fireStatus=false;
         String msg="";
         int fireNumber=0;
-        String returnCodes="02 03 48 00 00 00 00 02 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 00 00 40 3D ";
+        //String returnCodes="02 03 48 00 00 00 00 02 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 00 00 40 3D ";
         returnCodes=returnCodes.replace(" ","");
-        System.out.println("returnCodes length:"+returnCodes.length());
+        //System.out.println("returnCodes length:"+returnCodes.length());
         String registerCode=returnCodes.substring(6,returnCodes.length()-20);
-        System.out.println("registerCode:"+registerCode);
+        //System.out.println("registerCode:"+registerCode);
         String mainCode=returnCodes.substring(134,returnCodes.length()-4);
-        System.out.println("mainCode:"+mainCode);
+        //System.out.println("mainCode:"+mainCode);
         List<String> registerCodeList=parseArrayList(registerCode);
         Set<String> statusSet=statusMap.keySet();
         if(registerCodeList.contains("01")){
@@ -131,6 +131,7 @@ public class FireLaborUtil {
         jsonObject.put("fireNumber",fireNumber);
         jsonObject.put("fireStatus",fireStatus);
         jsonObject.put("msg",msg);
+        jsonObject.put("createTime",System.currentTimeMillis());
         return jsonObject;
     }