刘俊驰 8 mesiacov pred
rodič
commit
767cbbcd6d

+ 23 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/FeatureType.java

@@ -4,7 +4,8 @@ import com.ym.mec.common.enums.BaseEnum;
 
 public enum FeatureType implements BaseEnum<String, FeatureType> {
 	CLOUD_STUDY_TRAIN("CLOUD_STUDY_TRAIN", "云教练训练"),
-	CLOUD_STUDY_EVALUATION("CLOUD_STUDY_EVALUATION", "云教练评测");
+	CLOUD_STUDY_EVALUATION("CLOUD_STUDY_EVALUATION", "云教练评测"),
+    FOLLOW_UP_TRAINING("FOLLOW_UP_TRAINING", "跟练");
 
 	private String code;
 
@@ -15,7 +16,27 @@ public enum FeatureType implements BaseEnum<String, FeatureType> {
 		this.desc = desc;
 	}
 
-	@Override
+    public static FeatureType format(String feature) {
+        switch (feature){
+
+//            UNIT_TEST("单元测试"),
+//                PRACTICE("自主练习"),
+//                EVALUATION("评测"),
+//                LESSON_TRAINING("课后练习"),
+//                FOLLOW_UP_TRAINING("跟练"),
+            case "PRACTICE":
+                return CLOUD_STUDY_TRAIN;
+            case "FOLLOW_UP_TRAINING":
+                return FOLLOW_UP_TRAINING;
+            case "EVALUATION":
+                return CLOUD_STUDY_EVALUATION;
+            default:
+                return CLOUD_STUDY_TRAIN;
+        }
+
+    }
+
+    @Override
 	public String getCode() {
 		return code;
 	}

+ 1 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MusicPracticeRecordWrapper.java

@@ -540,7 +540,7 @@ public class MusicPracticeRecordWrapper {
             sysMusicCompareRecord.setPlayTime(this.playTime);
             sysMusicCompareRecord.setSpeed(this.speed!=null?Integer.parseInt(this.speed):90);
             sysMusicCompareRecord.setMonday(this.monday);
-            sysMusicCompareRecord.setFeature(this.feature!=null? FeatureType.valueOf(this.feature):null);
+            sysMusicCompareRecord.setFeature(this.feature!=null? FeatureType.format(this.feature):null);
             sysMusicCompareRecord.setHeardLevel(this.heardLevel!=null? HeardLevelEnum.valueOf(this.heardLevel):null);
             sysMusicCompareRecord.setCreateTime(this.createTime);
             sysMusicCompareRecord.setPartIndex(this.partIndex);
@@ -553,7 +553,6 @@ public class MusicPracticeRecordWrapper {
             sysMusicCompareRecord.setDelFlag(this.delFlag);
             sysMusicCompareRecord.setPlayRate(this.playRate);
 
-
             return sysMusicCompareRecord;
 
         }

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicCompareRecordService.java

@@ -8,8 +8,8 @@ import com.ym.mec.biz.dal.page.MusicCompareRecordWapper;
 import com.ym.mec.biz.dal.page.SysMusicCompareRecordQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloudTrainingQueryInfo;
 import com.ym.mec.common.page.PageInfo;
-import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.BaseService;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
@@ -35,6 +35,9 @@ public interface SysMusicCompareRecordService extends BaseService<Long, SysMusic
      */
     void saveMusicCompareData(SysMusicCompareRecord sysMusicCompareRecord);
 
+    @Transactional
+    long insertMusicCompareData(SysMusicCompareRecord sysMusicCompareRecord);
+
     /**
      * @describe 用户最后一次评测数据
      * @author Joburgess

+ 8 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicPracticeRecordServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.entity.SysMusicCompareRecord;
 import com.ym.mec.biz.dal.entity.SysMusicScore;
+import com.ym.mec.biz.dal.enums.FeatureType;
 import com.ym.mec.biz.dal.wrapper.MusicPracticeRecordWrapper;
 import com.ym.mec.biz.service.MusicPracticeRecordService;
 import com.ym.mec.biz.service.SysMusicCompareRecordService;
@@ -52,9 +53,14 @@ public class MusicPracticeRecordServiceImpl implements MusicPracticeRecordServic
         MusicPracticeRecordWrapper.Entity musicPracticeRecord = JSON.parseObject(from.initDefaultValue().jsonString(),
             MusicPracticeRecordWrapper.Entity.class);
         SysMusicCompareRecord sysMusicCompareRecord = musicPracticeRecord.toSysMusicCompareRecord();
-        long insert = sysMusicCompareRecordService.insert(sysMusicCompareRecord);
+        Long id = null;
+        if (sysMusicCompareRecord.getFeature() == FeatureType.CLOUD_STUDY_EVALUATION) {
+            id = sysMusicCompareRecordService.insertMusicCompareData(sysMusicCompareRecord);
+        } else {
+            id = sysMusicCompareRecordService.insert(sysMusicCompareRecord);
+        }
 
-        return String.valueOf(insert);
+        return String.valueOf(id);
     }
 
     @Override

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

@@ -165,6 +165,20 @@ public class SysMusicCompareRecordServiceImpl extends BaseServiceImpl<Long, SysM
 				.updateUserWeekTrainData(userId, LocalDate.now().with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue()));
 	}
 
+    @Override
+    @Transactional
+    public long insertMusicCompareData(SysMusicCompareRecord sysMusicCompareRecord) {
+
+        Integer userId = sysMusicCompareRecord.getUserId();
+
+        long insert = sysMusicCompareRecordDao.insert(sysMusicCompareRecord);
+        studentDao.addStudentCloudStudySequenceDays(userId);
+        updateCampData(sysMusicCompareRecord);
+        sysMusicCompareWeekDataService
+            .updateUserWeekTrainData(userId, LocalDate.now().with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue()));
+        return insert;
+    }
+
 	@Override
 	public JSONObject getLastEvaluationMusicalNotesPlayStats(Integer userId, Long recordId) {
 		SysMusicCompareRecord userLastEvaluationData;