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 |   82 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 74 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/whyc/controller/VoiceController.java b/src/main/java/com/whyc/controller/VoiceController.java
index 8c1a9e6..99f5432 100644
--- a/src/main/java/com/whyc/controller/VoiceController.java
+++ b/src/main/java/com/whyc/controller/VoiceController.java
@@ -1,7 +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;
@@ -18,8 +21,12 @@
 @RestController
 @RequestMapping("voice")
 public class VoiceController {
+
     @Autowired
-    private MSTTSSpeechService service;
+    private AlarmDataService alarmDataService;
+
+    @Autowired
+    private AlarmVoiceSetService alarmVoiceSetService;
 
     /**
      * 鐢ㄦ埛鐨勮闊虫枃浠惰矾寰勫眰绾�
@@ -28,13 +35,15 @@
      * @return
      */
     @ApiOperation("鏌ヨ鐢ㄦ埛鏈鐨剋av璇煶鏂囦欢鍒楄〃")
-    @GetMapping
+    @GetMapping("wavUnread")
     public Response getWavUnread(){
         UserInf user = ActionUtil.getUser();
         //鑾峰彇缁濆鏂囦欢澶硅矾寰�
         String unreadSuffixPath = "wav" + File.separator + "alarm" + File.separator + user.getUId() + File.separator + "unread";
         String unreadDirPath = CommonUtil.getRootFile() + unreadSuffixPath;
         File unreadDir = new File(unreadDirPath);
+        //淇濆瓨鐢ㄦ埛鐨勫憡璀﹁闊虫枃浠�
+        alarmDataService.saveToWav(unreadDirPath);
         if(!unreadDir.exists()){
             return new Response().set(1,false,"鏃犳湭璇诲憡璀﹁闊�");
         }else{
@@ -44,20 +53,18 @@
             }
             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);
         }
-        /*String text = "鍟婂搱鍝堝搱鍝�";
-        service.setRate(10);
-        service.saveToWav(text,"F:\\1.wav");
-        return new Response().set(1);*/
     }
 
     @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