Browse Source

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

gao.qiang 1 year ago
parent
commit
1157bc631f

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

@@ -39,7 +39,7 @@ public class BaseCameraVersion {
     private String versionName;
     private String versionName;
 
 
     /**
     /**
-     * 升级类型 1:算法升级,2:硬件升级,3:算法及硬件升级
+     * 升级类型 0.固件 1.算法 2:算法及硬件升级
      */
      */
     private String upgradeType;
     private String upgradeType;
 
 

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

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

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

@@ -0,0 +1,82 @@
+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();
+        }
+    }
+}

+ 75 - 0
hazard-admin/src/main/java/com/ozs/web/controller/common/PictureController.java

@@ -0,0 +1,75 @@
+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;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.List;
+
+/**
+ * @author wyy
+ * @subject
+ * @creat 2023/4/18
+ */
+@RestController
+@RequestMapping("/getPicture")
+public class PictureController {
+    private static final Logger log = LoggerFactory.getLogger(PictureController.class);
+    @Resource
+    private ApiTokenUtils apiTokenUtils;
+    @Resource
+    BaseCameraManagementService baseCameraManagementService;
+    @Resource
+    MsgAlarmService msgAlarmService;
+    public final long timeout = 10000;
+    /**
+     * 获取图片
+     *
+     * @param
+     * @return
+     */
+    @PostMapping("/api/snap")
+    public AjaxResult getPicture() throws IOException {
+        List<BaseCameraManagement> list = baseCameraManagementService.list();
+        list.forEach(l -> {
+            String uuid = IdUtils.fastSimpleUUID();
+            if(!ObjectUtils.isEmpty(l.getCameraCode()) &&!ObjectUtils.isEmpty(l.getChannel())){
+                QueryWrapper<MsgAlarm> queryWrapper = new QueryWrapper<MsgAlarm>();
+                queryWrapper.lambda().eq(MsgAlarm::getCameraCode,l.getCameraCode());
+                queryWrapper.lambda().eq(MsgAlarm::getIsLock,2);
+                List<MsgAlarm> msgAlarmList = msgAlarmService.list(queryWrapper);
+                try {
+                    System.out.println("http://124.70.58.209:18891/api/snap?stream="+l.getCameraCode()+"/"+l.getChannel()+"&timeout="+timeout);
+                    log.info("请求url"+"http://124.70.58.209:18891/api/snap?stream="+l.getCameraCode()+"/"+l.getChannel()+"&timeout="+timeout);
+                    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);
+                } catch (MalformedURLException e) {
+                    e.printStackTrace();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+        return AjaxResult.success(list);
+    }
+}

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

@@ -101,12 +101,12 @@ public class UploadController {
             String imageName = image.getOriginalFilename();
             String imageName = image.getOriginalFilename();
             if (StringUtils.isNotBlank(imageName)) {
             if (StringUtils.isNotBlank(imageName)) {
                 // String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
                 // String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
-                String filename = image.getOriginalFilename().substring(0,image.getOriginalFilename().lastIndexOf("."));
+                // String filename = image.getOriginalFilename().substring(0,image.getOriginalFilename().lastIndexOf("."));
                 SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
                 SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
                 String format1 = dateFormat1.format(new Date());
                 String format1 = dateFormat1.format(new Date());
-                String imgName = "cameraVersion" + "/" + format1 + "/" + filename;
+                String imgName = "cameraVersion" + "/" + format1 + "/" + imageName;
                 minioUtils.minIoClientUpload(image.getInputStream(), imgName);
                 minioUtils.minIoClientUpload(image.getInputStream(), imgName);
-                uploadFile = "/cameraVersion/" + format1 + "/" + filename;
+                uploadFile = "/cameraVersion/" + format1 + "/" + imageName;
             }
             }
         } else {
         } else {
             return AjaxResult.error("上传功能出错");
             return AjaxResult.error("上传功能出错");