Explorar el Código

Merge branch 'feature_HW_20230331' of http://git.dayaedu.com/yonge/mec into feature_HW_20230331

liujunchi hace 2 años
padre
commit
b36ba8834d

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/LessonExaminationDetailDto.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 
 
+import com.ym.mec.biz.dal.enums.HardLevelEnum;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -16,7 +17,7 @@ public class LessonExaminationDetailDto{
     private Long musicScoreId;
 
     @ApiModelProperty(value = "评测难度")
-    private String heardLevel;
+    private HardLevelEnum heardLevel;
 
     @ApiModelProperty(value = "分谱")
     private Integer partIndex;

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonExaminationDetailDto.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 
 
+import com.ym.mec.biz.dal.enums.HardLevelEnum;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -27,7 +28,7 @@ public class StudentLessonExaminationDetailDto {
     private Integer musicScoreId;
 
     @ApiModelProperty(value = "评测难度")
-    private String heardLevel;
+    private HardLevelEnum heardLevel;
 
     @ApiModelProperty(value = "练习最高分数")
     private Integer trainingScore;

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentLessonExaminationDetailDto1.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 
 
+import com.ym.mec.biz.dal.enums.HardLevelEnum;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -26,5 +27,8 @@ public class StudentLessonExaminationDetailDto1 {
 
     @ApiModelProperty(value = "均摊总分")
     private Integer avgScore;
+
+    @ApiModelProperty(value = "评测难度")
+    private HardLevelEnum heardLevel;
 }
 

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

@@ -22,11 +22,22 @@ public class TeacherSignOutDto {
     @ApiModelProperty(value = "学员学习是否达标")
     private List<StudentStandardDto> studentStandardDtos;
 
+    @ApiModelProperty(value = "课后评测信息")
+    private LessonExaminationSaveDto lessonExaminationSaveDto;
+
     /**
      * 是否返回错误信息
      */
     private boolean notRturnErrorInfo;
 
+    public LessonExaminationSaveDto getLessonExaminationSaveDto() {
+        return lessonExaminationSaveDto;
+    }
+
+    public void setLessonExaminationSaveDto(LessonExaminationSaveDto lessonExaminationSaveDto) {
+        this.lessonExaminationSaveDto = lessonExaminationSaveDto;
+    }
+
     public List<StudentStandardDto> getStudentStandardDtos() {
         return studentStandardDtos;
     }

+ 1 - 11
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentLessonExamination.java

@@ -4,8 +4,6 @@ package com.ym.mec.biz.dal.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
-import com.ym.mec.common.entity.BaseEntity;
-import com.ym.mec.common.tenant.TenantContextHolder;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -33,17 +31,9 @@ public class StudentLessonExamination {
     @ApiModelProperty(value = "测验编号")
     private Long lessonExaminationId;
 
-    @TableField("standard_flag_")
-    @ApiModelProperty(value = "是否达标")
-    private Integer standardFlag;
-
-    @TableField("training_flag_")
-    @ApiModelProperty(value = "练习状态(是否测验)")
-    private Boolean trainingFlag;
-
     @TableField("training_score_")
     @ApiModelProperty(value = "测评总分")
-    private Boolean trainingScore;
+    private Integer trainingScore;
 
     @TableField("training_time_")
     @ApiModelProperty(value = "最后测评时间")

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentLessonExaminationDetail.java

@@ -5,6 +5,7 @@ import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.ym.mec.biz.dal.enums.HardLevelEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -39,7 +40,7 @@ public class StudentLessonExaminationDetail implements Serializable {
 
     @TableField("heard_level_")
     @ApiModelProperty(value = "评测难度")
-    private String heardLevel;
+    private HardLevelEnum heardLevel;
 
     @TableField("standard_flag_")
     @ApiModelProperty(value = "是否达标")

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/GroupStatusEnum.java

@@ -39,4 +39,5 @@ public enum GroupStatusEnum implements BaseEnum<String, GroupStatusEnum> {
 
     public void setDesc(String desc) {
         this.desc = desc;
-    }}
+    }
+}

+ 35 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/HardLevelEnum.java

@@ -0,0 +1,35 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum HardLevelEnum implements BaseEnum<String, HardLevelEnum> {
+	BEGINNER("BEGINNER","入门级"),
+	ADVANCED("ADVANCED","进阶级"),
+	PERFORMER("PERFORMER","大师级");
+
+	private String code;
+
+	private String desc;
+
+	HardLevelEnum(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	@Override
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+	public void setDesc(String desc) {
+		this.desc = desc;
+	}
+}

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

@@ -62,6 +62,7 @@ public class LessonExaminationServiceImpl extends ServiceImpl<LessonExaminationD
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void publish(LessonExaminationSaveDto param) {
+        log.info("publish param: ",param);
         if(CollectionUtils.isEmpty(param.getStudentLessonExaminationSaveDtos())){
             throw new BizException("请选择学员");
         }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -76,6 +76,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	private SysTenantConfigService sysTenantConfigService;
 	@Autowired
 	private StudentService studentService;
+	@Autowired
+	private LessonExaminationService lessonExaminationService;
 
     @Autowired
     private SysConfigService sysConfigService;
@@ -448,6 +450,12 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 					courseHomeworkService.update(courseHomework);
 				}
 			}
+
+			//布置课后评测
+			LessonExaminationSaveDto examinationSaveDto = teacherSignOutDto.getLessonExaminationSaveDto();
+			if(Objects.nonNull(examinationSaveDto)){
+				lessonExaminationService.publish(examinationSaveDto);
+			}
 			return result;
 		}
 

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

@@ -6,7 +6,7 @@
         <result column="user_id_" property="userId"/>
         <result column="lesson_examination_id_" property="lessonExaminationId"/>
         <result column="music_score_id_" property="musicScoreId"/>
-        <result column="heard_level_" property="heardLevel"/>
+        <result column="heard_level_" property="heardLevel" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="standard_flag_" property="standardFlag"/>
         <result column="training_score_" property="trainingScore"/>
         <result column="standard_score_" property="standardScore"/>
@@ -24,7 +24,7 @@
                                                       avg_score_, part_index_)
         values
         <foreach collection="entities" item="entity" separator=",">
-            (#{entity.userId}, #{entity.lessonExaminationId},#{entity.musicScoreId}, #{entity.heardLevel},
+            (#{entity.userId}, #{entity.lessonExaminationId},#{entity.musicScoreId}, #{entity.heardLevel,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
              #{entity.standardScore}, #{entity.avgScore},#{entity.partIndex})
         </foreach>
     </insert>

+ 17 - 10
mec-biz/src/main/resources/config/mybatis/StudentLessonExaminationMapper.xml

@@ -5,8 +5,6 @@
         <id column="id_" property="id"/>
         <result column="user_id_" property="userId"/>
         <result column="lesson_examination_id_" property="lessonExaminationId"/>
-        <result column="training_flag_" property="trainingFlag"/>
-        <result column="standard_flag_" property="standardFlag"/>
         <result column="training_score_" property="trainingScore"/>
         <result column="training_time_" property="trainingTime"/>
         <result column="training_time_" property="trainingTime"/>
@@ -35,11 +33,17 @@
             <if test="lessonExaminationId != null">
                 AND sle.lesson_examination_id_ = #{lessonExaminationId}
             </if>
-            <if test="trainingFlag != null">
-                AND sle.training_flag_ = #{trainingFlag}
+            <if test="trainingFlag != null and trainingFlag == true">
+                AND sle.training_time_ IS NOT NULL
             </if>
-            <if test="standardFlag != null">
-                AND sle.standard_flag_ = #{standardFlag}
+            <if test="trainingFlag != null and trainingFlag == false">
+                AND sle.training_time_ IS NULL
+            </if>
+            <if test="standardFlag != null and standardFlag == true">
+                AND sle.training_score_ >= 60
+            </if>
+            <if test="standardFlag != null and standardFlag == false">
+                AND sle.training_score_ &lt; 60
             </if>
             <if test="userId != null">
                 AND sle.user_id_ = #{userId}
@@ -54,11 +58,13 @@
         left join student s ON s.user_id_ = sle.user_id_
         left join subject sb ON s.subject_id_list_ = sb.id_
         left join sys_user su on s.user_id_ = su.id_
+        <include refid="queryPageSql"/>
         ORDER BY sle.training_score_ DESC,sle.id_
         <include refid="global.limit"/>
     </select>
     <select id="findCount" resultType="java.lang.Integer">
         select COUNT(sle.id_) from student_lesson_examination sle
+        <include refid="queryPageSql"/>
         <include refid="global.limit"/>
     </select>
     <resultMap id="StudentLessonExaminationDtoMap" type="com.ym.mec.biz.dal.dto.StudentLessonExaminationDto1">
@@ -67,17 +73,18 @@
         <result property="phone" column="phone_"/>
         <result property="username" column="username_"/>
         <result property="trainingScore" column="training_score_"/>
-        <association property="detailDtos" javaType="com.ym.mec.biz.dal.dto.StudentLessonExaminationDetailDto1">
+        <collection property="detailDtos" ofType="com.ym.mec.biz.dal.dto.StudentLessonExaminationDetailDto1">
             <result property="standardScore" column="standard_score_"/>
             <result property="trainingScore" column="training_score_"/>
             <result property="actualAvgScore" column="actual_avg_score_"/>
             <result property="avgScore" column="avg_score_"/>
             <result property="musicScoreName" column="musicScoreName"/>
-        </association>
+            <result property="heardLevel" column="heard_level_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        </collection>
     </resultMap>
     <select id="queryStudentPage" resultMap="StudentLessonExaminationDtoMap">
         select sle.user_id_,su.username_,su.phone_,sb.name_ subjectName,sle.training_score_,
-               sms.name_ musicScoreName,sled.actual_avg_score_,sled.standard_score_,sled.training_score_,sled.avg_score_
+               sms.name_ musicScoreName,sled.actual_avg_score_,sled.standard_score_,sled.training_score_,sled.avg_score_,sled.heard_level_
         from student_lesson_examination sle
         left join student_lesson_examination_detail sled ON sled.lesson_examination_id_ = sle.lesson_examination_id_ AND sled.user_id_ = sle.user_id_
         left join sys_music_score sms ON sms.id_ = sled.music_score_id_
@@ -92,7 +99,7 @@
         from student_lesson_examination sle
         left join lesson_examination le on sle.lesson_examination_id_ = le.id_
         where sle.user_id_ = #{userId}
-          AND sle.standard_flag_ = 0
+          AND sle.training_score_ &lt; 60
         and le.expire_date_ &gt; NOW()
     </select>
     <select id="getStudentName" resultType="java.util.Map">