Quellcode durchsuchen

feat:云教练评测速度记录

Joburgess vor 4 Jahren
Ursprung
Commit
5bc68d4e78

+ 1 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicCompareRecordDao.java

@@ -1,15 +1,14 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.entity.SysMusicCompareRecord;
 import com.ym.mec.biz.dal.entity.SysMusicCompareWeekData;
 import com.ym.mec.biz.dal.enums.HeardLevelEnum;
 import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.biz.dal.entity.SysMusicCompareRecord;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 public interface SysMusicCompareRecordDao extends BaseDAO<Long, SysMusicCompareRecord> {
 

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SoundCompareHelper.java

@@ -53,6 +53,9 @@ public class SoundCompareHelper implements PitchDetectionHandler {
     @ApiModelProperty(value = "录音文件地址")
     private String recordFilePath;
 
+    @ApiModelProperty(value = "播放速度")
+    private int speed = 90;
+
     @ApiModelProperty(value = "小节xml信息字典")
     private Map<Integer, List<MusicPitchDetailDto>> measureXmlInfoMap = new HashMap<>();
 
@@ -115,6 +118,14 @@ public class SoundCompareHelper implements PitchDetectionHandler {
         this.recordId = recordId;
     }
 
+    public int getSpeed() {
+        return speed;
+    }
+
+    public void setSpeed(int speed) {
+        this.speed = speed;
+    }
+
     public String getBehaviorId() {
         return behaviorId;
     }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicCompareRecord.java

@@ -67,6 +67,8 @@ public class SysMusicCompareRecord {
 
 	private float playTime = 0;
 
+	private int speed = 90;
+
 	private String clientId;
 
 	public SysMusicCompareRecord() {
@@ -220,6 +222,14 @@ public class SysMusicCompareRecord {
 		this.playTime = playTime;
 	}
 
+	public int getSpeed() {
+		return speed;
+	}
+
+	public void setSpeed(int speed) {
+		this.speed = speed;
+	}
+
 	public String getMonday() {
 		return monday;
 	}

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SoundCompareHandler.java

@@ -117,6 +117,9 @@ public class SoundCompareHandler implements WebSocketEventHandler {
                 if(bodyObject.containsKey("heardLevel")){
                     userSoundInfoMap.get(phone).setHeardLevel(HeardLevelEnum.valueOf(bodyObject.getString("heardLevel")));
                 }
+                if(bodyObject.containsKey("speed")){
+                    userSoundInfoMap.get(phone).setSpeed(bodyObject.getIntValue("speed"));
+                }
                 List<Integer> subjectIds = sysMusicScoreAccompanimentDao.findSubjectByMusicScoreId(userSoundInfoMap.get(phone).getMusicScoreId(), null);
                 if(!CollectionUtils.isEmpty(subjectIds)){
                     userSoundInfoMap.get(phone).setSubjectId(subjectIds.get(0));

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicCompareRecordServiceImpl.java

@@ -80,6 +80,7 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 		sysMusicCompareRecord.setSysMusicScoreId(soundCompareInfo.getMusicScoreId());
 		sysMusicCompareRecord.setHeardLevel(soundCompareInfo.getHeardLevel());
 		sysMusicCompareRecord.setBehaviorId(soundCompareInfo.getBehaviorId());
+		sysMusicCompareRecord.setSpeed(soundCompareInfo.getSpeed());
 		Map<String, Object> scoreData = new HashMap<>();
 		scoreData.put("userMeasureScore", soundCompareInfo.getUserMeasureScoreMap());
 		Map<String, Object> musicalNotesPlayStats = new HashMap<>();

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml

@@ -25,6 +25,7 @@
 		<result column="client_id_" property="clientId" />
 		<result column="source_time_" property="sourceTime"/>
 		<result column="play_time_" property="playTime"/>
+		<result column="speed_" property="speed"/>
 		<result column="feature_" property="feature" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
 		<result column="monday_" property="monday"/>
 		<result column="create_time_" property="createTime" />
@@ -48,11 +49,11 @@
 		</selectKey>
 		-->
 		INSERT INTO sys_music_compare_record (id_,user_id_,sys_music_score_id_,heard_level_,behavior_id_,score_data_,score_,intonation_,cadence_,integrity_,
-		                                      record_file_path_,video_file_path_,device_type_,client_id_,play_time_,monday_,
+		                                      record_file_path_,video_file_path_,device_type_,client_id_,play_time_,speed_,monday_,
 												source_time_,feature_,create_time_,update_time_)
 		VALUES(#{id},#{userId},#{sysMusicScoreId},#{heardLevel,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{behaviorId},#{scoreData},
 		       #{score},#{intonation},#{cadence},#{integrity},
-		       #{recordFilePath},#{videoFilePath},#{deviceType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{clientId},#{playTime},#{monday},
+		       #{recordFilePath},#{videoFilePath},#{deviceType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{clientId},#{playTime},#{speed},#{monday},
 		       #{sourceTime},#{feature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, NOW(), NOW())
 	</insert>
 
@@ -101,6 +102,9 @@
 		<if test="playTime != null">
 			play_time_ = #{playTime},
 		</if>
+		<if test="speed != null">
+			speed_ = #{speed},
+		</if>
 		<if test="monday != null">
 			monday_ = #{monday},
 		</if>