소스 검색

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

gao.qiang 2 년 전
부모
커밋
9596076554

+ 9 - 1
business-service/src/main/java/com/ozs/service/entity/BaseCameraVersion.java

@@ -2,6 +2,7 @@ package com.ozs.service.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ozs.common.core.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import lombok.AllArgsConstructor;
@@ -10,6 +11,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * @Author : sunhh
@@ -21,6 +23,10 @@ import java.util.Date;
 @Builder
 @ApiModel("相机版本管理表")
 public class BaseCameraVersion {
+    /**
+     * 摄像头系统参数
+     */
+    private List<BaseVersionCameraParam> baseVersionCameraParamList;
 
     /**
      * 主键ID
@@ -39,7 +45,7 @@ public class BaseCameraVersion {
     private String versionName;
 
     /**
-     * 升级类型 0.固件 1.算法 2:算法及硬件升级
+     * 升级类型 0.固件 1.算法 2:算法及硬件升级 3:摄像头系统参数
      */
     private String upgradeType;
 
@@ -56,6 +62,7 @@ public class BaseCameraVersion {
     /**
      * 创建时间
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
     /**
@@ -66,6 +73,7 @@ public class BaseCameraVersion {
     /**
      * 修改时间
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
 
     /**

+ 51 - 0
business-service/src/main/java/com/ozs/service/entity/BaseVersionCameraParam.java

@@ -0,0 +1,51 @@
+package com.ozs.service.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author : sunhh
+ * @create 2023/4/26 14:43
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel("摄像头系统参数")
+public class BaseVersionCameraParam {
+
+    /**
+     * 主键ID
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+    /**
+     * 版本ID
+     */
+    private Long versionId;
+    /**
+     * key
+     */
+    private String key;
+    /**
+     * value
+     */
+    private String value;
+    /**
+     * 创建人
+     */
+    private String createBy;
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+}

+ 1 - 1
business-service/src/main/java/com/ozs/service/entity/vo/BaseCameraVersionVo.java

@@ -43,7 +43,7 @@ public class BaseCameraVersionVo {
     private String versionName;
 
     /**
-     * 升级类型 0.固件 1.算法 2:算法及硬件升级
+     * 升级类型 0.固件 1.算法 2:算法及硬件升级 3:摄像头系统参数
      */
     private String upgradeType;
     private String upgradeTypename;

+ 14 - 0
business-service/src/main/java/com/ozs/service/mapper/BaseVersionCameraParamMapper.java

@@ -0,0 +1,14 @@
+package com.ozs.service.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ozs.service.entity.BaseCameraVersion;
+import com.ozs.service.entity.BaseVersionCameraParam;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Author : sunhh
+ * @create 2023/4/26 14:50
+ */
+@Mapper
+public interface BaseVersionCameraParamMapper extends BaseMapper<BaseVersionCameraParam> {
+}

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

@@ -7,15 +7,9 @@ import com.github.pagehelper.PageHelper;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.bean.BeanUtils;
-import com.ozs.service.entity.BaseCameraManagement;
-import com.ozs.service.entity.BaseCameraVersion;
-import com.ozs.service.entity.CameraLogDetail;
-import com.ozs.service.entity.CameraUpdateLog;
+import com.ozs.service.entity.*;
 import com.ozs.service.entity.vo.BaseCameraVersionVo;
-import com.ozs.service.mapper.BaseCameraManagementMapper;
-import com.ozs.service.mapper.BaseCameraVersionMapper;
-import com.ozs.service.mapper.CameraLogDetailMapper;
-import com.ozs.service.mapper.CameraUpdateLogMapper;
+import com.ozs.service.mapper.*;
 import com.ozs.service.service.BaseCameraVersionService;
 import com.ozs.service.utils.PublishClient;
 import com.ozs.service.utils.SubscribeClient;
@@ -44,6 +38,8 @@ public class BaseCameraVersionServiceImpl extends ServiceImpl<BaseCameraVersionM
     private CameraLogDetailMapper cameraLogDetailMapper;
     @Resource
     private BaseCameraManagementMapper baseCameraManagementMapper;
+    @Autowired
+    private BaseVersionCameraParamMapper baseVersionCameraParamMapper;
 
     @Override
     public AjaxResult cameraVersionAdd(BaseCameraVersion baseCameraVersion, String userId) {
@@ -62,6 +58,15 @@ public class BaseCameraVersionServiceImpl extends ServiceImpl<BaseCameraVersionM
             baseCameraVersion.setCreateTime(date);
             baseCameraVersion.setUpdateTime(date);
             baseCameraVersionMapper.insert(baseCameraVersion);
+            // 升级类型 0.固件 1.算法 2:算法及硬件升级 3:摄像头系统参数
+            if ("3".equals(baseCameraVersion.getUpgradeType()) && baseCameraVersion.getBaseVersionCameraParamList().size() > 0) {
+                for (BaseVersionCameraParam baseVersionCameraParam : baseCameraVersion.getBaseVersionCameraParamList()) {
+                    baseVersionCameraParam.setVersionId(baseCameraVersion.getId());
+                    baseVersionCameraParam.setCreateBy(userId);
+                    baseVersionCameraParam.setCreateTime(new Date());
+                    baseVersionCameraParamMapper.insert(baseVersionCameraParam);
+                }
+            }
         } else {
             return AjaxResult.error("当前版本号或版本名称已存在,请核对后在添加!");
         }

+ 0 - 82
business-service/src/main/java/com/ozs/service/utils/HttpGetUtil.java

@@ -1,82 +0,0 @@
-package com.ozs.service.utils;
-
-import com.ozs.common.utils.MinioUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.annotation.Resource;
-import java.io.*;
-import java.net.HttpURLConnection;
-import java.net.URL;
-
-/**
- * @author wyy
- * @subject
- * @creat 2023/4/20
- */
-public class HttpGetUtil {
-    private static final Logger log = LoggerFactory.getLogger(HttpGetUtil.class);
-    @Resource
-    public static MinioUtils minioUtils;
-
-    public static void getPicture(URL url,String fileName) throws IOException {
-        HttpURLConnection connection = null;
-        BufferedInputStream bis = null;
-        BufferedOutputStream bos = null;
-        try {
-            connection = (HttpURLConnection) url.openConnection();
-            // http正文内,因此需要设为true
-            connection.setDoOutput(true);
-            connection.setDoInput(true);
-            // Post 请求不能使用缓存
-            connection.setUseCaches(false);
-            //设置本次连接是否自动重定向
-            connection.setInstanceFollowRedirects(true);
-
-            connection.setRequestMethod("GET");
-            connection.setRequestProperty("Accept-Language", "zh,zh-CN;q=0.9");
-            connection.setRequestProperty("connection", "keep-alive");
-            //设置参数类型是json格式
-            connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");
-            connection.setRequestProperty("Accept","application/json");
-            //connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
-            connection.setRequestProperty("Charsert", "UTF-8");
-            //设置读取时间为30秒
-            connection.setConnectTimeout(30 * 1000);
-            connection.setReadTimeout(30 * 1000);
-            connection.connect();
-
-            // 返回流
-            System.out.println("responseCode=" + connection.getResponseCode());
-            log.info("responseCode="+connection.getResponseCode());
-            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
-                InputStream input = connection.getInputStream();
-                bis = new BufferedInputStream(input);
-                minioUtils.minIoClientUpload(input, fileName);
-//                FileOutputStream output = new FileOutputStream(fileName);
-//                bos = new BufferedOutputStream(output);
-//                byte[] buffer = new byte[1024];
-//                int size = 0;
-//                while ((size = bis.read(buffer, 0, 1024)) != -1) {
-//                    bos.write(buffer, 0, size);
-//                }
-//                bos.flush();
-            }
-        } catch (Exception e) {
-            //先关闭外层的缓冲流,再关闭内层的流,但是在关闭外层流的同时,
-            //内层流也会自动的进行关闭,关于内层流的关闭,可以省略
-            e.printStackTrace();
-        } finally {
-            if (bis != null) {
-                bis.close();
-            }
-//            if (bos != null) {
-//                bos.close();
-//            }
-            if (connection != null) {
-                connection.disconnect();
-            }
-//            os.close();
-        }
-    }
-}

+ 67 - 3
hazard-admin/src/main/java/com/ozs/web/controller/common/PictureController.java

@@ -3,14 +3,12 @@ package com.ozs.web.controller.common;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.utils.ApiTokenUtils;
-import com.ozs.common.utils.DateUtils;
 import com.ozs.common.utils.MinioUtils;
 import com.ozs.common.utils.uuid.IdUtils;
 import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.service.BaseCameraManagementService;
 import com.ozs.service.service.MsgAlarmService;
-import com.ozs.service.utils.HttpGetUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.util.ObjectUtils;
@@ -19,7 +17,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.List;
@@ -39,6 +41,8 @@ public class PictureController {
     BaseCameraManagementService baseCameraManagementService;
     @Resource
     MsgAlarmService msgAlarmService;
+    @Resource
+    MinioUtils minioUtils;
     public final long timeout = 10000;
     /**
      * 获取图片
@@ -62,7 +66,7 @@ public class PictureController {
                     URL url = new URL("http://124.70.58.209:18891/api/snap?stream="+l.getCameraCode()+"/"+l.getChannel()+"&timeout="+timeout);
                     String fileName = "cameraPicture/"+l.getCameraCode()+"_"+uuid +".jpg";
                     log.info("fileName="+fileName);
-                    HttpGetUtil.getPicture(url, fileName);
+                    getCapture(url, fileName);
                 } catch (MalformedURLException e) {
                     e.printStackTrace();
                 } catch (IOException e) {
@@ -72,4 +76,64 @@ public class PictureController {
         });
         return AjaxResult.success(list);
     }
+    public void getCapture(URL url,String fileName) throws IOException {
+        HttpURLConnection connection = null;
+        BufferedInputStream bis = null;
+        BufferedOutputStream bos = null;
+        try {
+            connection = (HttpURLConnection) url.openConnection();
+            // http正文内,因此需要设为true
+            connection.setDoOutput(true);
+            connection.setDoInput(true);
+            // Post 请求不能使用缓存
+            connection.setUseCaches(false);
+            //设置本次连接是否自动重定向
+            connection.setInstanceFollowRedirects(true);
+
+            connection.setRequestMethod("GET");
+            connection.setRequestProperty("Accept-Language", "zh,zh-CN;q=0.9");
+            connection.setRequestProperty("connection", "keep-alive");
+            //设置参数类型是json格式
+            connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");
+            connection.setRequestProperty("Accept","application/json");
+            //connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+            connection.setRequestProperty("Charsert", "UTF-8");
+            //设置读取时间为30秒
+            connection.setConnectTimeout(30 * 1000);
+            connection.setReadTimeout(30 * 1000);
+            connection.connect();
+
+            // 返回流
+            System.out.println("responseCode=" + connection.getResponseCode());
+            log.info("responseCode="+connection.getResponseCode());
+            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
+                InputStream input = connection.getInputStream();
+                bis = new BufferedInputStream(input);
+                minioUtils.minIoClientUpload(input, fileName);
+//                FileOutputStream output = new FileOutputStream(fileName);
+//                bos = new BufferedOutputStream(output);
+//                byte[] buffer = new byte[1024];
+//                int size = 0;
+//                while ((size = bis.read(buffer, 0, 1024)) != -1) {
+//                    bos.write(buffer, 0, size);
+//                }
+//                bos.flush();
+            }
+        } catch (Exception e) {
+            //先关闭外层的缓冲流,再关闭内层的流,但是在关闭外层流的同时,
+            //内层流也会自动的进行关闭,关于内层流的关闭,可以省略
+            e.printStackTrace();
+        } finally {
+            if (bis != null) {
+                bis.close();
+            }
+//            if (bos != null) {
+//                bos.close();
+//            }
+            if (connection != null) {
+                connection.disconnect();
+            }
+//            os.close();
+        }
+    }
 }

+ 16 - 0
hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConteoller.java

@@ -3,12 +3,14 @@ package com.ozs.web.controller.websocket;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ozs.common.core.controller.BaseController;
+import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.service.entity.*;
 import com.ozs.service.entity.vo.MsgAlarmResp;
 import com.ozs.service.service.*;
+import com.ozs.system.service.ISysDictDataService;
 import com.ozs.system.service.ISysUserService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
@@ -48,6 +50,20 @@ public class WebSocketConteoller extends BaseController {
     private MsgWebPushService msgWebPushService;
     @Autowired
     private MsgAppPushService msgAppPushService;
+    @Autowired
+    private ISysDictDataService dictDataService;
+
+    /**
+     * 获取项目名称
+     */
+    @ResponseBody
+    @GetMapping("/projectName")
+    public String projectName() {
+        String projectName = dictDataService.selectDictLabel("sys_name", "name");
+//        HashMap<String, Object> map = new HashMap<>();
+//        map.put("name", projectName);
+        return projectName;
+    }
 
     /**
      * web 登陆时查询 未登陆时推送的消息 重新推送