Browse Source

feat:小节评分记录演奏时长

Joburgess 4 years ago
parent
commit
65088f7b3f

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

@@ -42,6 +42,8 @@ public class SysMusicCompareRecord {
 
 	private DeviceTypeEnum deviceType;
 
+	private float playTime = 0;
+
 	private String clientId;
 	
 	public void setId(Long id){
@@ -132,6 +134,14 @@ public class SysMusicCompareRecord {
 		this.deviceType = deviceType;
 	}
 
+	public float getPlayTime() {
+		return playTime;
+	}
+
+	public void setPlayTime(float playTime) {
+		this.playTime = playTime;
+	}
+
 	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}

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

@@ -12,6 +12,7 @@ import com.ym.mec.biz.service.SysMusicCompareRecordService;
 import com.ym.mec.biz.dal.dao.SysMusicCompareRecordDao;
 import org.springframework.stereotype.Service;
 
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.util.Map;
 import java.util.Objects;
@@ -49,6 +50,11 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 		sysMusicCompareRecord.setRecordFilePath(soundCompareInfo.getRecordFilePath());
 		sysMusicCompareRecord.setDeviceType(soundCompareInfo.getDeviceType());
 		sysMusicCompareRecord.setClientId(soundCompareInfo.getClientId());
+		try {
+			sysMusicCompareRecord.setPlayTime(soundCompareInfo.getAccessFile().length()/(SoundCompareHandler.soundCompareConfig.audioFormat.getFrameSize()*SoundCompareHandler.soundCompareConfig.audioFormat.getFrameRate()));
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
 		sysMusicCompareRecordDao.insert(sysMusicCompareRecord);
 	}
 }

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

@@ -18,6 +18,7 @@
 		<result column="record_file_path_" property="recordFilePath" />
 		<result column="device_type_" property="deviceType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
 		<result column="client_id_" property="clientId" />
+		<result column="play_time_" property="playTime"/>
 		<result column="create_time_" property="createTime" />
 	</resultMap>
 
@@ -39,9 +40,9 @@
 		</selectKey>
 		-->
 		INSERT INTO sys_music_compare_record (id_,user_id_,sys_music_score_id_,score_data_,score_,intonation_,cadence_,integrity_,
-		                                      record_file_path_,device_type_,client_id_,create_time_)
+		                                      record_file_path_,device_type_,client_id_,play_time_,create_time_)
 		VALUES(#{id},#{userId},#{sysMusicScoreId},#{scoreData},#{score},#{intonation},#{cadence},#{integrity},
-		       #{recordFilePath},#{deviceType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{clientId},NOW())
+		       #{recordFilePath},#{deviceType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{clientId},#{playTime},NOW())
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -77,6 +78,9 @@
 		<if test="clientId != null">
 			client_id_ = #{clientId},
 		</if>
+		<if test="playTime != null">
+			play_time_ = #{playTime},
+		</if>
 	</set> WHERE id_ = #{id}
 	</update>