From e16302f9d475c7cc4dd18c5abf1a23cb5502e362 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期三, 28 五月 2025 14:57:56 +0800
Subject: [PATCH] 密码验证加-

---
 src/main/java/com/whyc/controller/VoiceController.java |   72 ++++++++++++++++++++++++++++++++++-
 1 files changed, 69 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/whyc/controller/VoiceController.java b/src/main/java/com/whyc/controller/VoiceController.java
index 82d3948..99f5432 100644
--- a/src/main/java/com/whyc/controller/VoiceController.java
+++ b/src/main/java/com/whyc/controller/VoiceController.java
@@ -1,8 +1,10 @@
 package com.whyc.controller;
 
 import com.whyc.dto.Response;
+import com.whyc.pojo.AlarmVoiceSet;
 import com.whyc.pojo.UserInf;
 import com.whyc.service.AlarmDataService;
+import com.whyc.service.AlarmVoiceSetService;
 import com.whyc.service.MSTTSSpeechService;
 import com.whyc.util.ActionUtil;
 import com.whyc.util.CommonUtil;
@@ -23,6 +25,9 @@
     @Autowired
     private AlarmDataService alarmDataService;
 
+    @Autowired
+    private AlarmVoiceSetService alarmVoiceSetService;
+
     /**
      * 鐢ㄦ埛鐨勮闊虫枃浠惰矾寰勫眰绾�
      * /fg_file/wav/alarm/uId/unread/
@@ -30,7 +35,7 @@
      * @return
      */
     @ApiOperation("鏌ヨ鐢ㄦ埛鏈鐨剋av璇煶鏂囦欢鍒楄〃")
-    @GetMapping
+    @GetMapping("wavUnread")
     public Response getWavUnread(){
         UserInf user = ActionUtil.getUser();
         //鑾峰彇缁濆鏂囦欢澶硅矾寰�
@@ -48,7 +53,7 @@
             }
             List<String> fileNameList = new LinkedList<>();
             for (String fileName : arr) {
-                fileName="fg_doc"+File.separator+unreadSuffixPath+File.separator+fileName;
+                fileName="fg_file"+File.separator+unreadSuffixPath+File.separator+fileName;
                 fileNameList.add(fileName);
             }
             return new Response().setII(1,true,fileNameList,null);
@@ -56,8 +61,10 @@
     }
 
     @ApiOperation("鍒犻櫎鐢ㄦ埛wav璇煶鏂囦欢")
-    @DeleteMapping
+    @PostMapping("deleteWavRead")
     public void deleteWavRead(@RequestParam(required = false) String fileFullName){
+        //杩囨护鐗规畩瀛楃,閬垮厤璺緞閬嶅巻鏀诲嚮 
+        fileFullName = ActionUtil.filterFileName(fileFullName);
         UserInf user = ActionUtil.getUser();
         //鑾峰彇缁濆鏂囦欢澶硅矾寰�
         String unreadSuffixPath = "wav" + File.separator + "alarm" + File.separator + user.getUId() + File.separator + "unread";
@@ -75,4 +82,63 @@
         }
     }
 
+    @ApiOperation("鐢ㄦ埛wav璇煶鏂囦欢鎾斁瀹屾瘯")
+    @PostMapping("wavRead")
+    public void updateWavRead(@RequestParam(required = false) String fileFullName){
+        //杩囨护鐗规畩瀛楃,閬垮厤璺緞閬嶅巻鏀诲嚮
+        fileFullName = ActionUtil.filterFileName(fileFullName);
+        UserInf user = ActionUtil.getUser();
+        long currentTimeMillis = System.currentTimeMillis();
+        Long specialId = null;
+        int type = 0;
+        int alarmType = 0;
+        //鑾峰彇缁濆鏂囦欢澶硅矾寰�
+        String readSuffixPath = "wav" + File.separator + "alarm" + File.separator + user.getUId() + File.separator;
+        String fromFilePath = CommonUtil.getRootFile() + readSuffixPath + fileFullName;
+        //璇煶鏂囦欢,鍛藉悕瑙勫垯 {alarmStartTime}_device_{num}_{deviceId}_{almType}_{readableVoiceTime}.wav
+        //鏇存柊涓嬫鎾斁鏃堕棿:濡傛灉set琛ㄦ病鏈夊搴旂殑鏃堕棿闂撮殧,鍒欓粯璁�5鍒嗛挓鍚�,鏈夊垯鎸夌収琛ㄤ腑鐨勬椂闂撮棿闅�(鍗曚綅:鍒嗛挓).
+        if(fileFullName.contains("batt")){
+            type=1;
+        }else if(fileFullName.contains("device")){
+            type=2;
+        }else{
+            type=3;
+        }
+        String[] nameSplit = fileFullName.split("_");
+        specialId = Long.parseLong(nameSplit[3]);
+        alarmType = Integer.parseInt(nameSplit[4]);
+        String readableVoiceTimeWithWav = nameSplit[5];
+        AlarmVoiceSet nextTimeIntervalSet = alarmVoiceSetService.getNextTimeInterval(user.getUId(), type, specialId, alarmType);
+        int addedTimeMillis = 0;
+        if(nextTimeIntervalSet !=null){
+            //闂撮殧鏃堕棿(鍗曚綅鍒嗛挓)澶辨晥,鍒犻櫎
+            Integer nextTimeInterval = nextTimeIntervalSet.getNextTimeInterval();
+            addedTimeMillis = nextTimeInterval*60*1000;
+
+            alarmVoiceSetService.delete(nextTimeIntervalSet.getId());
+        }else{ //榛樿5鍒嗛挓
+            addedTimeMillis = 5*60*1000;
+            //addedTimeMillis = 1*60*1000;
+        }
+        String readableVoiceTimeWithWavNew = currentTimeMillis+addedTimeMillis+".wav";
+        //鏂囦欢涓嬫鎾斁鏃堕棿纭畾鏂扮殑鏂囦欢鍚�
+        String renameToFileFullName = fileFullName.replace(readableVoiceTimeWithWav,readableVoiceTimeWithWavNew);
+        String renameToFilePath = CommonUtil.getRootFile() + readSuffixPath + renameToFileFullName;
+        //鎾姤瀹屾瘯鍚�,灏嗘挱鎶ユ椂闂存洿鏂板埌鏂囦欢鍚嶄笂
+        File fromFile = new File(fromFilePath);
+        File renameToFile = new File(renameToFilePath);
+        fromFile.renameTo(renameToFile);
+    }
+
+    /**
+     * 鐢ㄦ埛鐨勮闊虫枃浠惰矾寰勫眰绾�
+     * /fg_file/wav/alarm/uId/
+     * @return
+     */
+    @ApiOperation("鏌ヨ鐢ㄦ埛鐩墠鍙鐨剋av璇煶鏂囦欢鍒楄〃")
+    @GetMapping("wavRead")
+    public Response getWavRead(){
+        return alarmDataService.getWavRead();
+    }
+
 }

--
Gitblit v1.9.1