From 3919d59dacc6ed443feb9a60e567cf51a3014bb4 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期三, 16 十一月 2022 17:27:43 +0800 Subject: [PATCH] 更新 --- src/main/java/com/whyc/service/AlarmDataService.java | 153 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 96 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/whyc/service/AlarmDataService.java b/src/main/java/com/whyc/service/AlarmDataService.java index eba3aff..4e2b25c 100644 --- a/src/main/java/com/whyc/service/AlarmDataService.java +++ b/src/main/java/com/whyc/service/AlarmDataService.java @@ -1,6 +1,7 @@ package com.whyc.service; import com.whyc.dto.AlarmDaoFactory; +import com.whyc.dto.Response; import com.whyc.mapper.BattalarmDataMapper; import com.whyc.mapper.DevalarmDataMapper; import com.whyc.pojo.*; @@ -9,7 +10,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.servlet.ServletContext; import javax.servlet.http.HttpSession; +import java.io.File; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -35,6 +38,9 @@ @Autowired private PwrdevAlarmService pwrdevAlarmService; + + @Autowired + private MSTTSSpeechService service; public Map<String, Object> getAlarmLevel1ListMap() { @@ -79,79 +85,88 @@ } - public List<String> getAlarmMsgList() { + public void saveToWav(String unreadDirPath) { Long uId = ActionUtil.getUser().getUId(); - HttpSession session = ActionUtil.getSession(); + ServletContext application = ActionUtil.getApplication(); //鐢ㄦ埛 - Map<String,Object> alarmMap = (Map<String, Object>) session.getAttribute("alarmMap_" + uId); + Map<String,Object> alarmMap = (Map<String, Object>) application.getAttribute("alarmMap_" + uId); Map<String, Object> alarmMapNow = getAlarmLevel1ListMap(); List<BattalarmData> battAlarmListNow = (List<BattalarmData>) alarmMapNow.get("battAlarmList"); List<DevalarmData> devAlarmListNow = (List<DevalarmData>) alarmMapNow.get("devAlarmList"); List<PwrdevAlarm> powerAlarmListNow = (List<PwrdevAlarm>) alarmMapNow.get("powerAlarmList"); if(alarmMap==null){ - //涓嶅瓨鍦�,鎻掑叆鍐呭瓨 - session.setAttribute("alarmMap_" + uId,alarmMapNow); + //涓嶅瓨鍦�,鎻掑叆搴旂敤鍐呭瓨 + application.setAttribute("alarmMap_" + uId,alarmMapNow); //杩斿洖鍐呭鏍煎紡澶勭悊,骞跺瓨涓鸿闊� - return formatResultAndSaveToWav(battAlarmListNow,devAlarmListNow,powerAlarmListNow); - } - //鑾峰彇鏂板鐨� - List<BattalarmData> battAlarmList = (List<BattalarmData>) alarmMap.get("battAlarmList"); - List<DevalarmData> devAlarmList = (List<DevalarmData>) alarmMap.get("devAlarmList"); - List<PwrdevAlarm> powerAlarmList = (List<PwrdevAlarm>) alarmMap.get("powerAlarmList"); + formatResultAndSaveToWav(unreadDirPath,battAlarmListNow,devAlarmListNow,powerAlarmListNow); + }else { + //鑾峰彇鏂板鐨� + List<BattalarmData> battAlarmList = (List<BattalarmData>) alarmMap.get("battAlarmList"); + List<DevalarmData> devAlarmList = (List<DevalarmData>) alarmMap.get("devAlarmList"); + List<PwrdevAlarm> powerAlarmList = (List<PwrdevAlarm>) alarmMap.get("powerAlarmList"); - List<BattalarmData> battAlarmListAdded = new LinkedList<>(); + List<BattalarmData> battAlarmListAdded = new LinkedList<>(); - List<DevalarmData> devAlarmListAdded = new LinkedList<>(); + List<DevalarmData> devAlarmListAdded = new LinkedList<>(); - List<PwrdevAlarm> powerAlarmListAdded = new LinkedList<>(); - //鐢垫睜缁勫憡璀﹀鍔� - for (BattalarmData now : battAlarmListNow) { - long num = now.getNum(); - boolean exist = false; - for (BattalarmData old : battAlarmList) { - if (old.getNum() == num) { - exist = true; - break; + List<PwrdevAlarm> powerAlarmListAdded = new LinkedList<>(); + //鐢垫睜缁勫憡璀﹀鍔� + for (BattalarmData now : battAlarmListNow) { + long num = now.getNum(); + boolean exist = false; + for (BattalarmData old : battAlarmList) { + if (old.getNum() == num) { + exist = true; + break; + } } - } - if (!exist) { - battAlarmListAdded.add(now); - } - - } - //璁惧鍛婅澧炲姞 - for (DevalarmData now : devAlarmListNow) { - long num = now.getNum(); - boolean exist = false; - for (DevalarmData old : devAlarmList) { - if (old.getNum() == num) { - exist = true; - break; + if (!exist) { + battAlarmListAdded.add(now); } - } - if (!exist) { - devAlarmListAdded.add(now); - } - } - //鐢垫簮鍛婅澧炲姞 - for (PwrdevAlarm now : powerAlarmListNow) { - long num = now.getNum(); - boolean exist = false; - for (PwrdevAlarm old : powerAlarmList) { - if (old.getNum() == num) { - exist = true; - break; + } + //璁惧鍛婅澧炲姞 + for (DevalarmData now : devAlarmListNow) { + long num = now.getNum(); + boolean exist = false; + for (DevalarmData old : devAlarmList) { + if (old.getNum() == num) { + exist = true; + break; + } } + if (!exist) { + devAlarmListAdded.add(now); + } + } - if (!exist) { - powerAlarmListAdded.add(now); + //鐢垫簮鍛婅澧炲姞 + for (PwrdevAlarm now : powerAlarmListNow) { + long num = now.getNum(); + boolean exist = false; + for (PwrdevAlarm old : powerAlarmList) { + if (old.getNum() == num) { + exist = true; + break; + } + } + if (!exist) { + powerAlarmListAdded.add(now); + } + } + if (battAlarmListAdded.size() != 0 + || devAlarmListAdded.size() != 0 + || powerAlarmListAdded.size() != 0 + ) { + //鏈変换浣曞彉鍔紝鏇存柊鏃х殑鍛婅鍒楄〃 + application.setAttribute("alarmMap_" + uId, alarmMapNow); + } + + formatResultAndSaveToWav(unreadDirPath,battAlarmListAdded, devAlarmListAdded, powerAlarmListAdded); } - - return formatResultAndSaveToWav(battAlarmListAdded, devAlarmListAdded, powerAlarmListAdded); } /** @@ -165,10 +180,34 @@ * @param powerAlarmList * @return */ - private List<String> formatResultAndSaveToWav(List<BattalarmData> battAlarmList, - List<DevalarmData> devAlarmList, - List<PwrdevAlarm> powerAlarmList) { + private void formatResultAndSaveToWav(String unreadDirPath, + List<BattalarmData> battAlarmList, + List<DevalarmData> devAlarmList, + List<PwrdevAlarm> powerAlarmList) { - return null; + StringBuilder alarmMsgBuilder = new StringBuilder(); + for (BattalarmData alarm : battAlarmList) { + String alarmName = AlarmDaoFactory.getAllAlarmName(alarm.getAlmSignalId()); + alarmMsgBuilder.append(alarm.getStationName()).append(",鐢垫睜缁勭紪鍙蜂负").append(alarm.getBattgroupname()).append(",鍗曚綋涓�").append(alarm.getMonNum()).append(",鍦�").append(alarm.getAlmStartTime()).append("鍙戠敓浜�").append(alarmName).append("鍛婅;"); + } + for (DevalarmData alarm : devAlarmList) { + String alarmName = AlarmDaoFactory.getAllAlarmName(alarm.getAlmType()); + alarmMsgBuilder.append(alarm.getStationName()).append(",璁惧缂栧彿涓�").append(alarm.getDevId()).append(",鍦�").append(alarm.getAlmStartTime()).append("鍙戠敓浜�").append(alarmName).append("鍛婅;"); + } + for (PwrdevAlarm alarm : powerAlarmList) { + String alarmName = AlarmDaoFactory.getAllAlarmName(alarm.getAlmType()); + alarmMsgBuilder.append(alarm.getStationName()).append(",鐢垫簮缂栧彿涓�").append(alarm.getPowerDeviceId()).append(",鍦�").append(alarm.getAlmStartTime()).append("鍙戠敓浜�").append(alarmName).append("鍛婅;"); + } + + File file = new File(unreadDirPath); + if(!file.exists()){ + file.mkdirs(); + } + + String alarmMsg = alarmMsgBuilder.toString(); + if(!alarmMsg.isEmpty()) { + service.setRate(-1); + service.saveToWav(alarmMsg, unreadDirPath + File.separator + System.currentTimeMillis() + ".wav"); + } } } -- Gitblit v1.9.1