From b6b75f791dbc63a82918e537762d3f9b6b55ccd4 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期四, 12 一月 2023 17:11:13 +0800 Subject: [PATCH] 告警语音更新 --- src/main/java/com/whyc/service/AlarmDataService.java | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 114 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/whyc/service/AlarmDataService.java b/src/main/java/com/whyc/service/AlarmDataService.java index 1055d58..143eef8 100644 --- a/src/main/java/com/whyc/service/AlarmDataService.java +++ b/src/main/java/com/whyc/service/AlarmDataService.java @@ -46,7 +46,7 @@ public Map<String, Object> getAlarmLevel1ListMap() { Long userId = ActionUtil.getUser().getUId(); - List<BattalarmData> battAlarmList = battAlarmDataService.getList(userId); + List<BattalarmData> battAlarmList = battAlarmDataService.getList(userId,1); battAlarmList = battAlarmList.stream().filter(alarm->alarm.getAlmLevel().equals(1)).collect(Collectors.toList()); for (BattalarmData adata : battAlarmList) { @@ -54,11 +54,11 @@ adata.setAlmLevelName(AlarmDaoFactory.getAlarmType(adata.getAlmLevel())); } - List<DevalarmData> devAlarmList = devAlarmDataService.getList(userId); + List<DevalarmData> devAlarmList = devAlarmDataService.getList(userId,1); devAlarmList = devAlarmList.stream().filter(alarm->alarm.getAlmLevel().equals(1)).collect(Collectors.toList()); - List<PwrdevAlarm> powerAlarmList = pwrdevAlarmService.getList(userId); + List<PwrdevAlarm> powerAlarmList = pwrdevAlarmService.getList(userId,1); powerAlarmList = powerAlarmList.stream().filter(alarm->alarm.getAlmLevel().equals(1)).collect(Collectors.toList()); for (PwrdevAlarm p : powerAlarmList) { @@ -334,4 +334,115 @@ service.saveToWav(alarmMsg, dirPath + File.separator + System.currentTimeMillis() + ".wav"); }*/ } + + public Response getWavRead() { + UserInf user = ActionUtil.getUser(); + //鑾峰彇缁濆鏂囦欢澶硅矾寰� + String readSuffixPath = "wav" + File.separator + "alarm" + File.separator + user.getUId() + File.separator; + String readDirPath = CommonUtil.getRootFile() + readSuffixPath; + File readDir = new File(readDirPath); + //鐩戞帶鐢ㄦ埛鐨勫憡璀�,鍖呭惈鐢熸垚,鍐呭瓨淇℃伅鏇存柊 + monitorAlarm(readDirPath); + if(!readDir.exists()){ + return new Response().set(1,false,"鏃犳湭璇诲憡璀﹁闊�"); + }else{ + String[] arr = readDir.list(); + if(arr.length==0){ + return new Response().set(1,false,"鏃犳湭璇诲憡璀﹁闊�"); + } + //妫�鏌ヨ繖绉嶅憡璀︽槸鍚︽秷闄�,娑堥櫎鍒欏垹闄ゅ憡璀﹁闊� + List<String> battGroupFileNameList = new LinkedList<>(); + List<String> deviceFileNameList = new LinkedList<>(); + List<String> powerDeviceFileNameList = new LinkedList<>(); + for (String fileName : arr) { + if(fileName.contains("batt")){ + battGroupFileNameList.add(fileName); + }else if(fileName.contains("device")){ + deviceFileNameList.add(fileName); + }else{ + powerDeviceFileNameList.add(fileName); + } + } + if(battGroupFileNameList.size()!=0){ + //鏌ヨ鐢垫睜鍛婅鏄惁娑堥櫎 + List<BattalarmData> list = battAlarmDataService.getList(user.getUId(), 0); + for (String battGroupFileName : battGroupFileNameList){ + boolean exist = false; + for(BattalarmData temp : list){ + String[] fileNameSplit = battGroupFileName.split("_"); + long battGroupId = Long.parseLong(fileNameSplit[3]); + long alarmType = Long.parseLong(fileNameSplit[4]); + if(battGroupId == temp.getBattGroupId() && alarmType == temp.getAlmSignalId()){ + exist = true; + break; + } + } + //濡傛灉瀛樺湪,璇存槑鍛婅鏈秷闄� + if(!exist){ //涓嶅瓨鍦�,鍛婅娑堥櫎,鍒犻櫎鍛婅鏂囦欢 + File deleteFile = new File(readDirPath + battGroupFileName); + deleteFile.delete(); + } + } + } + + if(deviceFileNameList.size()!=0){ + //鏌ヨ鍛婅鏄惁娑堥櫎 + List<DevalarmData> list = devAlarmDataService.getList(user.getUId(), 0); + for (String deviceFileName : deviceFileNameList){ + boolean exist = false; + for(DevalarmData temp : list){ + String[] fileNameSplit = deviceFileName.split("_"); + long deviceId = Long.parseLong(fileNameSplit[3]); + long alarmType = Long.parseLong(fileNameSplit[4]); + if(deviceId == temp.getDevId() && alarmType == temp.getAlmType()){ + exist = true; + break; + } + } + //濡傛灉瀛樺湪,璇存槑鍛婅鏈秷闄� + if(!exist){ //涓嶅瓨鍦�,鍛婅娑堥櫎,鍒犻櫎鍛婅鏂囦欢 + File deleteFile = new File(readDirPath + deviceFileName); + deleteFile.delete(); + } + } + } + + if(powerDeviceFileNameList.size()!=0){ + //鏌ヨ鍛婅鏄惁娑堥櫎 + List<PwrdevAlarm> list = pwrdevAlarmService.getList(user.getUId(), 0); + for (String powerDeviceFileName : powerDeviceFileNameList){ + boolean exist = false; + for(PwrdevAlarm temp : list){ + String[] fileNameSplit = powerDeviceFileName.split("_"); + long powerDeviceId = Long.parseLong(fileNameSplit[3]); + long alarmType = Long.parseLong(fileNameSplit[4]); + if(powerDeviceId == temp.getPowerDeviceId() && alarmType == temp.getAlmType()){ + exist = true; + break; + } + } + //濡傛灉瀛樺湪,璇存槑鍛婅鏈秷闄� + if(!exist){ //涓嶅瓨鍦�,鍛婅娑堥櫎,鍒犻櫎鍛婅鏂囦欢 + File deleteFile = new File(readDirPath + powerDeviceFileName); + deleteFile.delete(); + } + } + } + + List<String> fileNameList = new LinkedList<>(); + for (String fileName : arr) { + long currentTimeMillis = System.currentTimeMillis(); + long readableVoiceTime = Long.parseLong(fileName.substring(fileName.lastIndexOf("_") + 1, fileName.lastIndexOf("."))); + //鍙挱鏀炬椂闂�<褰撳墠鏃堕棿,杈撳嚭鎾斁 + if(readableVoiceTime<currentTimeMillis) { + fileName = "fg_file" + File.separator + readSuffixPath + File.separator + fileName; + fileNameList.add(fileName); + } + } + if(fileNameList.size()==0){ + return new Response().set(1,false,"鏃犳湭璇诲憡璀﹁闊�"); + } + return new Response().setII(1,true,fileNameList,null); + } + } } -- Gitblit v1.9.1