Pārlūkot izejas kodu

feat:小节评分

Joburgess 4 gadi atpakaļ
vecāks
revīzija
f9557d7210

+ 5 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/WebSocketInfo.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 package com.ym.mec.biz.dal.dto;
 
 
+import com.alibaba.fastjson.JSONObject;
+
 import java.util.HashMap;
 import java.util.HashMap;
 
 
 /**
 /**
@@ -10,7 +12,7 @@ public class WebSocketInfo {
 
 
     private HashMap<String, String> header = new HashMap<>();
     private HashMap<String, String> header = new HashMap<>();
 
 
-    private String body;
+    private Object body;
 
 
     public HashMap<String, String> getHeader() {
     public HashMap<String, String> getHeader() {
         return header;
         return header;
@@ -20,11 +22,11 @@ public class WebSocketInfo {
         this.header = header;
         this.header = header;
     }
     }
 
 
-    public String getBody() {
+    public Object getBody() {
         return body;
         return body;
     }
     }
 
 
-    public void setBody(String body) {
+    public void setBody(Object body) {
         this.body = body;
         this.body = body;
     }
     }
 }
 }

+ 4 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/handler/WebSocketHandler.java

@@ -5,6 +5,7 @@ import be.tarsos.dsp.io.jvm.AudioDispatcherFactory;
 import be.tarsos.dsp.io.jvm.JVMAudioInputStream;
 import be.tarsos.dsp.io.jvm.JVMAudioInputStream;
 import be.tarsos.dsp.pitch.PitchProcessor;
 import be.tarsos.dsp.pitch.PitchProcessor;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dto.AudioRecordConfig;
 import com.ym.mec.biz.dal.dto.AudioRecordConfig;
 import com.ym.mec.biz.dal.dto.MusicPitchDetailDto;
 import com.ym.mec.biz.dal.dto.MusicPitchDetailDto;
 import com.ym.mec.biz.dal.dto.WavHeader;
 import com.ym.mec.biz.dal.dto.WavHeader;
@@ -69,6 +70,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
         String phone = session.getPrincipal().getName().split(":")[1];
         String phone = session.getPrincipal().getName().split(":")[1];
         LOGGER.info("{}: {}", phone, message.getPayload());
         LOGGER.info("{}: {}", phone, message.getPayload());
         WebSocketInfo webSocketInfo = JSON.parseObject(message.getPayload(), WebSocketInfo.class);
         WebSocketInfo webSocketInfo = JSON.parseObject(message.getPayload(), WebSocketInfo.class);
+        JSONObject bodyObject = (JSONObject) webSocketInfo.getBody();
 
 
         String commond = "";
         String commond = "";
         if(webSocketInfo.getHeader().containsKey(SoundSocketService.COMMOND)){
         if(webSocketInfo.getHeader().containsKey(SoundSocketService.COMMOND)){
@@ -76,7 +78,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
         }
         }
         switch (commond){
         switch (commond){
             case SoundSocketService.MUSIC_XML:
             case SoundSocketService.MUSIC_XML:
-                userXmlInfoMap.put(phone, JSON.parseArray(webSocketInfo.getBody(), MusicPitchDetailDto.class));
+                userXmlInfoMap.put(phone, JSON.parseArray(bodyObject.getString("musicXmlInfos"), MusicPitchDetailDto.class));
                 break;
                 break;
             case SoundSocketService.RECORD_START:
             case SoundSocketService.RECORD_START:
                 File file = new File("E:\\Temp\\record"+phone +"-"+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) +".wav");
                 File file = new File("E:\\Temp\\record"+phone +"-"+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) +".wav");
@@ -118,7 +120,7 @@ public class WebSocketHandler extends AbstractWebSocketHandler {
                 result.put("intonation", RandomUtils.nextDouble(0,100));
                 result.put("intonation", RandomUtils.nextDouble(0,100));
                 result.put("cadence", RandomUtils.nextDouble(0,100));
                 result.put("cadence", RandomUtils.nextDouble(0,100));
                 result.put("integrity", RandomUtils.nextDouble(0,100));
                 result.put("integrity", RandomUtils.nextDouble(0,100));
-                webSocketInfo.setBody(JSON.toJSONString(result));
+                webSocketInfo.setBody(result);
                 WS_CLIENTS.get(phone).sendMessage(new TextMessage(JSON.toJSONString(webSocketInfo)));
                 WS_CLIENTS.get(phone).sendMessage(new TextMessage(JSON.toJSONString(webSocketInfo)));
                 userMeasureMap.get(phone).add(musicPitchDetailDto.getMeasureIndex());
                 userMeasureMap.get(phone).add(musicPitchDetailDto.getMeasureIndex());
             }
             }