Explorar el Código

Merge branch 'master' of http://124.70.58.209:3000/ytrd-project-management/GeoHazardMonitor

wyyay hace 1 año
padre
commit
d193a76977

+ 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>

+ 11 - 0
business-service/src/main/java/com/ozs/service/entity/vo/Param.java

@@ -0,0 +1,11 @@
+package com.ozs.service.entity.vo;
+
+import lombok.Data;
+
+/**
+ * @author Administrator
+ */
+@Data
+public class Param {
+    private Double threshold;
+}

+ 11 - 0
business-service/src/main/java/com/ozs/service/entity/vo/Svp.java

@@ -0,0 +1,11 @@
+package com.ozs.service.entity.vo;
+
+import lombok.Data;
+
+/**
+ * @author Administrator
+ */
+@Data
+public class Svp {
+    private Param param;
+}

+ 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);
 }

+ 8 - 9
business-service/src/main/java/com/ozs/service/service/impl/BaseCameraVersionServiceImpl.java

@@ -91,6 +91,14 @@ public class BaseCameraVersionServiceImpl extends ServiceImpl<BaseCameraVersionM
             return AjaxResult.error("当前版本ID不存在!");
         }
         BeanUtils.copyProperties(baseCameraVersion, baseCameraVersionVo);
+        CameraUpdateLog cameraUpdateLog = new CameraUpdateLog();
+        cameraUpdateLog.setVersionId(baseCameraVersion.getId());
+        cameraUpdateLog.setVersionNum(baseCameraVersion.getVersionNum());
+        cameraUpdateLog.setVersionName(baseCameraVersion.getVersionName());
+        cameraUpdateLog.setUpgradeType(baseCameraVersion.getUpgradeType());
+        cameraUpdateLog.setCreateBy(userId);
+        cameraUpdateLog.setCreateTime(new Date());
+//        int id = cameraUpdateLogMapper.insertCameraUpdateLog(cameraUpdateLog);
         for (String cameraCode : baseCameraVersionVo.getCameraCodeList()) {
             LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<>();
             if (!StringUtils.isEmptySunhh(cameraCode)) {
@@ -107,15 +115,6 @@ public class BaseCameraVersionServiceImpl extends ServiceImpl<BaseCameraVersionM
             baseCameraManagement.setLastVersionNum(lastVersionNum);
             baseCameraManagementMapper.updateById(baseCameraManagement);
 
-            CameraUpdateLog cameraUpdateLog = new CameraUpdateLog();
-            cameraUpdateLog.setCameraCode(cameraCode);
-            cameraUpdateLog.setVersionNum(baseCameraVersion.getVersionNum());
-            cameraUpdateLog.setVersionName(baseCameraVersion.getVersionName());
-            cameraUpdateLog.setUpgradeType(baseCameraVersion.getUpgradeType());
-            cameraUpdateLog.setStatus(2);
-            cameraUpdateLog.setCreateBy(userId);
-            cameraUpdateLog.setCreateTime(new Date());
-            int insert = cameraUpdateLogMapper.insert(cameraUpdateLog);
         }
         PublishClient.updateDeviceSn(baseCameraVersionVo);
         new SubscribeClient("update", "update").start();

+ 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()));
         

+ 56 - 7
business-service/src/main/java/com/ozs/service/utils/PublishClient.java

@@ -1,10 +1,14 @@
 package com.ozs.service.utils;
 
 import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
 import com.ozs.common.utils.sign.Md5Utils;
+import com.ozs.common.utils.stateSecrets.SM4Utils;
 import com.ozs.service.entity.vo.BaseCameraVersionVo;
 import com.ozs.service.entity.vo.Data;
 import com.ozs.service.entity.vo.Heartbeat;
+import com.ozs.service.entity.vo.Param;
+import com.ozs.service.entity.vo.Svp;
 import com.ozs.service.entity.vo.UpdateDeviceSn;
 import org.eclipse.paho.client.mqttv3.MqttClient;
 import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
@@ -16,6 +20,9 @@ import org.eclipse.paho.client.mqttv3.MqttTopic;
 import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
 import org.springframework.beans.factory.annotation.Value;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.UUID;
 
 
@@ -28,7 +35,7 @@ public class PublishClient {
     /**
      * mqtt服务器地址
      */
-    public static  final String HOST="tcp://124.70.58.209:1883";
+    public static final String HOST = "tcp://124.70.58.209:1883";
     /**
      * 主题
      */
@@ -47,16 +54,17 @@ public class PublishClient {
 
     /**
      * 初始化客户端实例
+     *
      * @param topic
      * @param clientId
      * @throws MqttException
      */
-    public PublishClient(String topic,String clientId) throws MqttException {
+    public PublishClient(String topic, String clientId) throws MqttException {
         /**
          * mqtt 客户机ID
          * heart_DEVICESN
          */
-        this.topic=topic;
+        this.topic = topic;
         /**
          * MemoryPersistence设置clientId的保存形式,默认为以内存保存
          */
@@ -100,6 +108,7 @@ public class PublishClient {
 
     /**
      * 发布
+     *
      * @param topic
      * @param message
      * @throws MqttPersistenceException
@@ -111,12 +120,12 @@ public class PublishClient {
         token.waitForCompletion();
         System.out.println("message is published completely! " + token.isComplete());
     }
-    
-    public static void pull(String sign,String deviceSn) throws MqttException, InterruptedException {
+
+    public static void pull(String sign, String deviceSn) throws MqttException, InterruptedException {
         /**
          * 发布客户端
          */
-        PublishClient server = new PublishClient("heart_"+deviceSn,"heart_"+deviceSn);
+        PublishClient server = new PublishClient("heart_" + deviceSn, "heart_" + deviceSn);
         Heartbeat test = new Heartbeat();
         test.setName("HeartResponse");
         Data data = new Data();
@@ -145,7 +154,7 @@ public class PublishClient {
         server.publish(server.topic11, server.message);
     }
 
-    public static void updateDeviceSn(BaseCameraVersionVo baseCameraVersionVo){
+    public static void updateDeviceSn(BaseCameraVersionVo baseCameraVersionVo) {
         /**
          * 发布客户端
          */
@@ -181,4 +190,44 @@ public class PublishClient {
             }
         }
     }
+
+    public static void confidenceCoefficient(String code) {
+        /**
+         * 发布客户端
+         */
+        try {
+            PublishClient server = new PublishClient("config_" + code, "config_" + code);
+            JSONObject res = new JSONObject();
+            res.put("Name", "ConfigRequest");
+            Svp svp=new Svp();
+            Param param = new Param();
+            param.setThreshold(0.700000);
+            svp.setParam(param);
+            Map<String,Object> map=new HashMap<>();
+            map.put("svp",svp);
+            res.put("data",map);
+            res.put("sign",UUID.randomUUID().toString());
+            String s = JSONObject.toJSONString(res);
+
+            server.message = new MqttMessage();
+            /**
+             * 保证消息能到达一次
+             */
+            server.message.setQos(1);
+            /**
+             * 消息保留
+             */
+//                server.message.setRetained(false);
+            /**
+             * 消息内容
+             */
+            server.message.setPayload(s.getBytes());
+            /**
+             * 发布
+             */
+            server.publish(server.topic11, server.message);
+        } catch (MqttException e) {
+            System.out.println(e.getMessage());
+        }
+    }
 }

+ 5 - 1
business-service/src/main/resources/mapper/service/BaseCameraManagementMapper.xml

@@ -20,7 +20,11 @@
         a.start_recording AS startRecording,
         a.task_id AS taskId,
         a.create_time AS createTime,
-        a.remark AS remark
+        a.remark AS remark,
+        a.version_id AS versionId,
+        a.version_num AS versionNum,
+        a.version_name AS versionName,
+        a.last_version_num AS lastVersionNum
         FROM
         base_camera_management a
         <where>

+ 18 - 8
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraVersionController.java

@@ -1,5 +1,6 @@
 package com.ozs.web.controller.accountmanagment;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ozs.common.annotation.Log;
 import com.ozs.common.core.controller.BaseController;
@@ -51,9 +52,11 @@ public class BaseCameraVersionController extends BaseController {
     @PostMapping("/cameraVersionUpgrade")
     @Log(title = "相机版本管理", businessType = BusinessType.INSERT)
     public AjaxResult cameraVersionUpgrade(@RequestBody BaseCameraVersionVo baseCameraVersion) {
-        if (StringUtils.isEmptySunhh(baseCameraVersion) || StringUtils.isEmptySunhh(baseCameraVersion.getId())
-                || StringUtils.isEmptySunhh(baseCameraVersion.getCameraCodeList())) {
-            return AjaxResult.error("相机版本id, 相机编码列表 不能为空!");
+        if (StringUtils.isEmptySunhh(baseCameraVersion) || StringUtils.isEmptySunhh(baseCameraVersion.getId())) {
+            return AjaxResult.error("相机版本id不能为空!");
+        }
+        if (StringUtils.isEmptySunhh(baseCameraVersion) || baseCameraVersion.getCameraCodeList().size() == 0) {
+            return AjaxResult.error("相机编码列表 不能为空!");
         }
         return baseCameraVersionService.cameraVersionUpgrade(baseCameraVersion, getUserId());
     }
@@ -133,11 +136,18 @@ public class BaseCameraVersionController extends BaseController {
         if (StringUtils.isEmptySunhh(ids)) {
             return AjaxResult.error("删除ID不能为空!");
         }
-        boolean delete = baseCameraVersionService.removeByIds(ids);
-        if (delete) {
-            return AjaxResult.success();
-        } else {
-            return AjaxResult.error();
+        for (Long id : ids) {
+            LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<>();
+            if (!StringUtils.isEmptySunhh(id)) {
+                wrapper.eq(BaseCameraManagement::getVersionId, id);
+            }
+            List<BaseCameraManagement> list = baseCameraManagementService.list(wrapper);
+            if (!StringUtils.isEmptySunhh(list) && list.size() > 0) {
+                return AjaxResult.error("删除ID: " + id + ",已经升级了相机,不能删除!");
+            }
+            boolean delete = baseCameraVersionService.removeById(id);
         }
+        // boolean delete = baseCameraVersionService.removeByIds(ids);
+        return AjaxResult.success();
     }
 }

+ 10 - 1
hazard-admin/src/main/java/com/ozs/web/controller/mqtt/MqttController.java

@@ -27,5 +27,14 @@ public class MqttController {
         new SubscribeClient("heart", "heart").start();
         return AjaxResult.success();
     }
-    
+
+
+    @ApiOperation(value = "置信度修改")
+    @GetMapping("/confidenceCoefficient")
+    @Log(title = "MQTT", businessType = BusinessType.SELECT)
+    public AjaxResult confidenceCoefficient() {
+        PublishClient.confidenceCoefficient("42010001541320000024");
+        new SubscribeClient("config", "config").start();
+        return AjaxResult.success();
+    }
 }

+ 1 - 1
hazard-admin/src/main/java/com/ozs/web/controller/upload/UploadController.java

@@ -101,7 +101,7 @@ public class UploadController {
             String imageName = image.getOriginalFilename();
             if (StringUtils.isNotBlank(imageName)) {
                 // String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
-                String filename = IdUtils.fastSimpleUUID() + image.getOriginalFilename().substring(image.getOriginalFilename().lastIndexOf("."));
+                String filename = image.getOriginalFilename().substring(0,image.getOriginalFilename().lastIndexOf("."));
                 SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
                 String format1 = dateFormat1.format(new Date());
                 String imgName = "cameraVersion" + "/" + format1 + "/" + filename;

+ 2 - 2
hazard-admin/src/main/resources/application.yml

@@ -67,9 +67,9 @@ spring:
   servlet:
      multipart:
        # 单个文件大小
-       max-file-size:  10MB
+       max-file-size:  50MB
        # 设置总上传的文件大小
-       max-request-size:  20MB
+       max-request-size:  100MB
   # 服务模块
   devtools:
     restart:

BIN
hazard-admin/src/main/resources/template/baseCameraManagement.xlsx


+ 1 - 1
hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -308,6 +308,6 @@ public class GeoHazardMonitorTokenController {
 //        String s = SM4Utils.decryptData_ECB(parameter, "4370780c9a8c43e5");
 //        ReqMsgAlarmVo reqMsgAlarmVo = JSON.parseObject(s, ReqMsgAlarmVo.class);
 //        System.out.println(reqMsgAlarmVo.toString());
-        System.out.println(new Date().getTime());
+//        System.out.println(new Date().getTime());
     }
 }