Browse Source

MQTT修改

gao.qiang 1 year atrás
parent
commit
2e5f3c2909

+ 2 - 2
business-service/pom.xml

@@ -42,8 +42,8 @@
         </dependency>
         <dependency>
             <groupId>org.eclipse.paho</groupId>
-            <artifactId>mqtt-client</artifactId>
-            <version>0.4.0</version>
+            <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
+            <version>1.2.2</version>
         </dependency>
         <dependency>
             <groupId>com.alibaba</groupId>

+ 2 - 0
business-service/src/main/java/com/ozs/service/service/CameraUpdateLogService.java

@@ -17,4 +17,6 @@ public interface CameraUpdateLogService extends IService<CameraUpdateLog> {
     List<CameraUpdateLog> selectDetail(CameraUpdateLogResp cameraUpdateLogResp);
 
     IPage listToPage(List list, int pageNum, int pageSize);
+
+    void updateAccessories(String deviceSn, Integer code);
 }

+ 19 - 1
business-service/src/main/java/com/ozs/service/service/impl/CameraUpdateLogServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ozs.service.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -22,7 +23,8 @@ import java.util.List;
 public class CameraUpdateLogServiceImpl extends ServiceImpl<CameraUpdateLogMapper, CameraUpdateLog> implements CameraUpdateLogService {
 
     @Autowired
-    private CameraUpdateLogMapper cameraUpdateLogMapper;
+    private   CameraUpdateLogMapper cameraUpdateLogMapper;
+    
 
     @Override
     public List<CameraUpdateLog> selectDetail(CameraUpdateLogResp cameraUpdateLogResp) {
@@ -42,4 +44,20 @@ public class CameraUpdateLogServiceImpl extends ServiceImpl<CameraUpdateLogMappe
         page.setTotal(list.size());
         return page;
     }
+
+  
+    public  void updateAccessories(String deviceSn, Integer code){
+        LambdaQueryWrapper<CameraUpdateLog> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CameraUpdateLog::getCameraCode, deviceSn);
+        wrapper.orderByDesc(CameraUpdateLog::getCreateTime);
+        List<CameraUpdateLog> list = cameraUpdateLogMapper.selectList(wrapper);
+        CameraUpdateLog cameraUpdateLog = list.get(0);
+        if (200==code){
+            cameraUpdateLog.setStatus(1);
+            cameraUpdateLogMapper.updateById(cameraUpdateLog);
+        }else if (400==code){
+            cameraUpdateLog.setStatus(3);
+            cameraUpdateLogMapper.updateById(cameraUpdateLog);
+        }
+    }
 }

+ 34 - 0
business-service/src/main/java/com/ozs/service/utils/CallbackUtil.java

@@ -0,0 +1,34 @@
+package com.ozs.service.utils;
+
+
+import com.ozs.service.service.CameraUpdateLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * 相机工具
+ * @author Administrator
+ */
+
+@Configuration
+@Slf4j
+@Component
+public class CallbackUtil {
+    @Autowired
+    CameraUpdateLogService cameraUpdateLogService;
+    private static  CameraUpdateLogService cameraUpdateLog;
+
+
+    @PostConstruct
+    public void init() {
+       cameraUpdateLog = cameraUpdateLogService;
+    }
+    
+    public static void  callback(String deviceSn,Integer code){
+        CallbackUtil.cameraUpdateLog.updateAccessories(deviceSn,code);
+    }
+}

+ 4 - 17
business-service/src/main/java/com/ozs/service/utils/PublishCallback.java

@@ -6,6 +6,7 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ozs.service.entity.CameraUpdateLog;
 import com.ozs.service.service.CameraUpdateLogService;
+import com.ozs.service.service.impl.CameraUpdateLogServiceImpl;
 import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
 import org.eclipse.paho.client.mqttv3.MqttCallback;
 import org.eclipse.paho.client.mqttv3.MqttMessage;
@@ -19,11 +20,8 @@ import java.util.List;
  *
  * @author Administrator
  */
-@Component
 public class PublishCallback implements MqttCallback {
     
-    @Autowired
-    CameraUpdateLogService cameraUpdateLogService;
 
     //在断开连接时调用
     @Override
@@ -43,7 +41,7 @@ public class PublishCallback implements MqttCallback {
     public void messageArrived(String topic, MqttMessage message) throws Exception {
         String sign = null;
         String deviceSn=null;
-        String code=null;
+        Integer code=null;
         // subscribe后得到的消息会执行到这里面
         System.out.println("接收消息主题 : " + topic);
         System.out.println("接收消息Qos : " + message.getQos());
@@ -64,21 +62,10 @@ public class PublishCallback implements MqttCallback {
             JSONArray jsonArray = JSONArray.parseArray(s);
             for (int i = 0; i < jsonArray.size(); i++) {
                 JSONObject object = jsonArray.getJSONObject(i);
-                code = (String) object.get("code");
+                code = (Integer) object.get("code");
                 deviceSn = (String) object.get("device_sn");
             }
-            LambdaQueryWrapper<CameraUpdateLog> wrapper = new LambdaQueryWrapper<>();
-            wrapper.eq(CameraUpdateLog::getCameraCode, deviceSn);
-            wrapper.orderByDesc(CameraUpdateLog::getCreateTime);
-            List<CameraUpdateLog> list = cameraUpdateLogService.list();
-            CameraUpdateLog cameraUpdateLog = list.get(0);
-            if ("200".equals(code)){
-                cameraUpdateLog.setStatus(1);
-                cameraUpdateLogService.updateById(cameraUpdateLog);
-            }else if ("400".equals(code)){
-                cameraUpdateLog.setStatus(3);
-                cameraUpdateLogService.updateById(cameraUpdateLog);
-            }
+            CallbackUtil.callback(deviceSn,code);
         }
         System.out.println("接收消息内容 : " + new String(message.getPayload()));