浏览代码

feat:小节评分

Joburgess 4 年之前
父节点
当前提交
c6b3a6c48f
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      mec-teacher/src/main/java/com/ym/mec/teacher/handler/WebSocketHandler.java

+ 7 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/handler/WebSocketHandler.java

@@ -54,9 +54,14 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
     private Map<String, Double> userMeasureStartTimeMap = new ConcurrentHashMap<>();
     private Map<String, List<MusicPitchDetailDto>> userLastMeasurePithInfoMap = new ConcurrentHashMap<>();
     private Map<String, Map<String, BigDecimal>> userTotalScoreMap = new ConcurrentHashMap<>();
+    private Map<String, Integer> userMusicIdMap = new ConcurrentHashMap<>();
 
     public WebSocketHandler() {
         super();
+        File soundDir = new File(tmpDir);
+        if(!soundDir.exists()){
+            soundDir.mkdir();
+        }
     }
 
     @Override
@@ -87,6 +92,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
         switch (commond){
             case SoundSocketService.MUSIC_XML:
                 List<MusicPitchDetailDto> musicXmlInfos = JSON.parseArray(bodyObject.getString("musicXmlInfos"), MusicPitchDetailDto.class);
+                userMusicIdMap.put(phone, bodyObject.getInteger("id"));
                 userLastMeasurePithInfoMap.put(phone, new ArrayList<>());
                 userTotalScoreMap.put(phone, new HashMap<>());
                 userMeasureXmlInfoMap.put(phone, musicXmlInfos.stream().collect(Collectors.groupingBy(MusicPitchDetailDto::getMeasureIndex)));
@@ -97,7 +103,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
                 }
                 break;
             case SoundSocketService.RECORD_START:
-                File file = new File(tmpDir+phone +"-"+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) +".wav");
+                File file = new File(tmpDir+phone + "_"+ userMusicIdMap.get(phone) +"_"+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) +".wav");
                 userRandomAccessFileMap.put(phone, new RandomAccessFile(file, "rw"));
                 userMeasureMap.put(phone, new HashSet<>());
                 userMeasureStartTimeMap.put(phone, (double) 0);