|
@@ -1,18 +1,25 @@
|
|
|
package com.yonge.cooleshow.biz.dal.wrapper.music;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.fasterxml.jackson.annotation.JsonFormat;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.FeatureType;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.HeardLevelEnum;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.MK;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.music.MusicCompareType;
|
|
|
import com.yonge.toolset.base.page.QueryInfo;
|
|
|
import io.swagger.annotations.ApiModelProperty;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.Builder;
|
|
|
import lombok.Data;
|
|
|
+import lombok.EqualsAndHashCode;
|
|
|
import lombok.NoArgsConstructor;
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
/**
|
|
|
* Created by Eric.Shang on 2022/10/17.
|
|
@@ -26,6 +33,7 @@ public class MusicCompareWrapper {
|
|
|
@Builder
|
|
|
@NoArgsConstructor
|
|
|
@AllArgsConstructor
|
|
|
+ @EqualsAndHashCode(callSuper = false)
|
|
|
public static class StatQueryInfo extends QueryInfo {
|
|
|
|
|
|
@ApiModelProperty("客户端类型 TEACHER(老师端) STUDENT(学生端)")
|
|
@@ -251,4 +259,76 @@ public class MusicCompareWrapper {
|
|
|
@ApiModelProperty("功能类型 ")
|
|
|
private FeatureType feature;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 曲目评测查询条件
|
|
|
+ */
|
|
|
+ @Data
|
|
|
+ @Builder
|
|
|
+ @NoArgsConstructor
|
|
|
+ @AllArgsConstructor
|
|
|
+ @EqualsAndHashCode(callSuper = false)
|
|
|
+ public static class EvaluteQueryInfo extends QueryInfo {
|
|
|
+
|
|
|
+ @ApiModelProperty("客户端类型 TEACHER(老师端) STUDENT(学生端)")
|
|
|
+ private ClientEnum clientType;
|
|
|
+
|
|
|
+ @ApiModelProperty("用户ID ")
|
|
|
+ private Long userId;
|
|
|
+
|
|
|
+ @ApiModelProperty("曲目ID ")
|
|
|
+ private Long musicId;
|
|
|
+
|
|
|
+ @ApiModelProperty("评测难度")
|
|
|
+ private HeardLevelEnum heardLevel;
|
|
|
+
|
|
|
+ @ApiModelProperty("评测类型")
|
|
|
+ private FeatureType feature;
|
|
|
+
|
|
|
+ @ApiModelProperty("开始时间")
|
|
|
+ private Date startTime;
|
|
|
+
|
|
|
+ @ApiModelProperty("结束时间")
|
|
|
+ private Date endTime;
|
|
|
+
|
|
|
+ public static EvaluteQueryInfo from(String record) {
|
|
|
+
|
|
|
+ return JSON.parseObject(record, EvaluteQueryInfo.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ public FeatureType getFeature() {
|
|
|
+ return Optional.ofNullable(feature).orElse(FeatureType.CLOUD_STUDY_EVALUATION);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 曲目评测记录信息
|
|
|
+ */
|
|
|
+ @Data
|
|
|
+ @NoArgsConstructor
|
|
|
+ @AllArgsConstructor
|
|
|
+ public static class RecordEvaluate implements Serializable {
|
|
|
+
|
|
|
+ @ApiModelProperty("评测记录ID ")
|
|
|
+ private Long id;
|
|
|
+
|
|
|
+ @ApiModelProperty("评测难度: 入门级,进阶级,大师级")
|
|
|
+ private HeardLevelEnum heardLevel;
|
|
|
+
|
|
|
+ @ApiModelProperty("总分 ")
|
|
|
+ private BigDecimal score;
|
|
|
+
|
|
|
+ @ApiModelProperty("音准 ")
|
|
|
+ private BigDecimal intonation;
|
|
|
+
|
|
|
+ @ApiModelProperty("节奏")
|
|
|
+ private BigDecimal cadence;
|
|
|
+
|
|
|
+ @ApiModelProperty("完成度 ")
|
|
|
+ private BigDecimal integrity;
|
|
|
+
|
|
|
+ @ApiModelProperty("评测时间")
|
|
|
+ @JsonFormat(pattern = MK.TIME_PATTERN, timezone = MK.TIME_ZONE)
|
|
|
+ private Date createTime;
|
|
|
+ }
|
|
|
}
|