Browse Source

报警视频回放修改逻辑

hexiao 1 year ago
parent
commit
013aae4e3d

+ 12 - 12
.idea/jarRepositories.xml

@@ -1,16 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="RemoteRepositoriesConfiguration">
-    <remote-repository>
-      <option name="id" value="central" />
-      <option name="name" value="Central Repository" />
-      <option name="url" value="https://maven.aliyun.com/repository/public" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="central" />
-      <option name="name" value="Central Repository" />
-      <option name="url" value="https://repo.maven.apache.org/maven2" />
-    </remote-repository>
     <remote-repository>
       <option name="id" value="public" />
       <option name="name" value="aliyun nexus" />
@@ -18,8 +8,8 @@
     </remote-repository>
     <remote-repository>
       <option name="id" value="central" />
-      <option name="name" value="Maven Central repository" />
-      <option name="url" value="https://repo1.maven.org/maven2" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
     </remote-repository>
     <remote-repository>
       <option name="id" value="central" />
@@ -36,6 +26,11 @@
       <option name="name" value="Central Repository" />
       <option name="url" value="http://maven.aliyun.com/nexus/content/repositories/central/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
     <remote-repository>
       <option name="id" value="custom_group" />
       <option name="name" value="Nexus Repository" />
@@ -46,5 +41,10 @@
       <option name="name" value="JBoss Community repository" />
       <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://maven.aliyun.com/repository/public" />
+    </remote-repository>
   </component>
 </project>

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

@@ -11,6 +11,7 @@ import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.service.BaseCameraManagementService;
 import com.ozs.service.service.BaseRailwayManagementService;
 import com.ozs.service.service.MsgAlarmService;
+import com.ozs.web.core.util.FileMd5;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.ObjectUtils;
@@ -23,7 +24,9 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @RestController
 @RequestMapping("/system/upLoad")
@@ -59,7 +62,7 @@ public class UploadController {
                 BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(lw);
                 LambdaQueryWrapper<BaseRailwayManagement> wrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
                 if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
-                    wrapper.eq(BaseRailwayManagement::getRailwayCode,baseCameraManagement.getCameraCode());
+                    wrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getCameraCode());
                 }
                 BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(wrapper);
                 String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
@@ -79,6 +82,7 @@ public class UploadController {
 
     /**
      * 相机版本文件上传
+     *
      * @param image
      * @return
      * @throws Exception
@@ -90,6 +94,7 @@ public class UploadController {
         }
         //图片保存路径
         String uploadFile = null;
+        String fileMd5Str = FileMd5.getMD5(image);
         if (image != null || !image.isEmpty()) {
             String imageName = image.getOriginalFilename();
             if (StringUtils.isNotBlank(imageName)) {
@@ -104,6 +109,9 @@ public class UploadController {
         } else {
             return AjaxResult.error("上传功能出错");
         }
-        return AjaxResult.success(uploadFile);
+        Map<String, Object> map = new HashMap<>();
+        map.put("url", uploadFile);
+        map.put("md5", fileMd5Str);
+        return AjaxResult.success(map);
     }
 }

+ 90 - 0
hazard-admin/src/main/java/com/ozs/web/core/util/FileMd5.java

@@ -0,0 +1,90 @@
+package com.ozs.web.core.util;
+
+import org.apache.commons.codec.binary.Hex;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.*;
+import java.security.MessageDigest;
+
+public class FileMd5 {
+
+    public static String getMD5(File file) {
+        FileInputStream fileInputStream = null;
+        try {
+            MessageDigest MD5 = MessageDigest.getInstance("MD5");
+            fileInputStream = new FileInputStream(file);
+            byte[] buffer = new byte[8192];
+            int length;
+            while ((length = fileInputStream.read(buffer)) != -1) {
+                MD5.update(buffer, 0, length);
+            }
+            return new String(Hex.encodeHex(MD5.digest()));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        } finally {
+            try {
+                if (fileInputStream != null) {
+                    fileInputStream.close();
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    /**
+     * 求一个字符串的md5值
+     *
+     * @param target 字符串
+     * @return md5 value
+     */
+    public static String MD5(String target) {
+        return DigestUtils.md5Hex(target);
+    }
+
+
+    public static String getMD5(MultipartFile file) {
+        InputStream fileInputStream = null;
+        try {
+            MessageDigest MD5 = MessageDigest.getInstance("MD5");
+            fileInputStream = file.getInputStream();
+            byte[] buffer = new byte[8192];
+            int length;
+            while ((length = fileInputStream.read(buffer)) != -1) {
+                MD5.update(buffer, 0, length);
+            }
+            return new String(Hex.encodeHex(MD5.digest()));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        } finally {
+            try {
+                if (fileInputStream != null) {
+                    fileInputStream.close();
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    public static void main(String[] args) {
+        long beginTime = System.currentTimeMillis();
+        String filepath = "C:\\data\\service\\hazard-admin\\logs\\sys-error.2023-03-09.log";
+        File file = new File(filepath);
+        String md5 = getMD5(file);
+//        try {
+//            FileWriter writer;
+//            writer = new FileWriter("C:\\data\\service\\hazard-admin\\logs\\statical.pb.b64.md5");
+//            writer.write("");
+//            writer.write(md5 + " statical.pb.b64");
+//            writer.flush();
+//            writer.close();
+//        }catch (IOException e){
+//            e.printStackTrace();
+//        }
+    }
+
+}