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