Ver Fonte

Merge branch 'feature/1113-vipCourse' of http://git.dayaedu.com/yonge/cooleshow into develop-new

zouxuan há 8 meses atrás
pai
commit
2fbf5ea3d1

+ 0 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/StudentCourseScheduleController.java

@@ -8,7 +8,6 @@ import com.yonge.cooleshow.biz.dal.dto.search.PracticeTeacherSearch;
 import com.yonge.cooleshow.biz.dal.entity.CourseCalendarEntity;
 import com.yonge.cooleshow.biz.dal.entity.CourseScheduleReplied;
 import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
-import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.wrapper.TeacherFreeTimeWrapper;

+ 8 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java

@@ -49,6 +49,10 @@ public interface SysConfigConstant {
      */
     String PRE_CREATE_PRACTICE_ROOM_MINUTE = "pre_create_practice_room_minute";
     /**
+     * 提前XX分钟创建/进入VIP课房间时间
+     */
+    String PRE_CREATE_VIP_ROOM_MINUTE = "pre_create_vip_course_room_minute";
+    /**
      * 直播结束后,XX分钟关闭房间
      */
     String DESTROY_EXPIRED_LIVE_ROOM_MINUTE = "destroy_expired_live_room_minute";
@@ -57,6 +61,10 @@ public interface SysConfigConstant {
      */
     String DESTROY_EXPIRED_PRACTICE_ROOM_MINUTE = "destroy_expired_practice_room_minute";
     /**
+     * VIP课结束后,XX分钟关闭房间
+     */
+    String DESTROY_EXPIRED_VIP_ROOM_MINUTE = "destroy_expired_vip_course_room_minute";
+    /**
      * 课程结束后,XX天后结算课酬
      */
     String COURSE_SETTLEMENT_TIME_DAY = "course_settlement_time_day";

+ 0 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherTotal.java

@@ -49,8 +49,4 @@ public class TeacherTotal implements Serializable {
     @ApiModelProperty("曲谱数 ")
     @TableField(value = "music_sheet_num_")
     private Integer musicSheetNum = 0;
-
-    @TableField("practice_flag_")
-    @ApiModelProperty(value = "是否开启陪练课(1是 0否)")
-    private Boolean practiceFlag = false;
 }

+ 16 - 7
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -143,6 +143,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 
     @Autowired
     private StudentAttendanceService studentAttendanceService;
+    @Autowired
+    private SubjectService subjectService;
 
     @Override
     public CourseScheduleDao getDao() {
@@ -833,6 +835,10 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         }
 
         Map<String, String> sysConfig = new HashMap<>();
+        //提前XX分钟创建/进入VIP课房间时间
+        sysConfig.put("vipStartTime", sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_VIP_ROOM_MINUTE));
+        //VIP课结束后,XX分钟关闭房间
+        sysConfig.put("vipEndTime", sysConfigService.findConfigValue(SysConfigConstant.DESTROY_EXPIRED_VIP_ROOM_MINUTE));
         //提前XX分钟创建/进入陪练课房间时间
         sysConfig.put("practiceStartTime", sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_PRACTICE_ROOM_MINUTE));
         //陪练课结束后,XX分钟关闭房间
@@ -1389,11 +1395,6 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
      * @Date: 2022/4/26
      */
     public List<TeacherSubjectPrice> teacherSubjectPrice(Long teacherId) {
-        TeacherTotal teacherTotal = teacherTotalService.lambdaQuery().eq(TeacherTotal::getUserId, teacherId)
-                .eq(TeacherTotal::getPracticeFlag, true).one();
-        if (teacherTotal == null) {
-            throw new BizException("老师未开启陪练课");
-        }
         TeacherFreeTime teacherFreeTime = teacherFreeTimeService.lambdaQuery().eq(TeacherFreeTime::getTeacherId, teacherId).one();
         if (teacherFreeTime == null) {
             log.info("未查到陪练课配置,老师id:{}", teacherId);
@@ -2587,6 +2588,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         //获取所有课程列表
         List<CourseSchedule> courseSchedules = this.lambdaQuery().eq(CourseSchedule::getCourseGroupId, query.getCourseGroupId())
                 .eq(StringUtils.isNotEmpty(query.getStatus()), CourseSchedule::getStatus, query.getStatus())
+                .ne(query.getAttendanceStatus() != null,CourseSchedule::getStatus,"NOT_START")
                 .orderByDesc(CourseSchedule::getStartTime)
                 .list();
         if (CollectionUtils.isEmpty(courseSchedules)) {
@@ -2667,7 +2669,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     @Override
     public List<CourseScheduleWrapper.StudentCourseList> queryListByStudent(CourseScheduleWrapper.CourseQuery query) {
         //获取所有课程列表
-        List<CourseScheduleStudentPayment> scheduleStudentPayments = courseScheduleStudentPaymentService.lambdaQuery().eq(CourseScheduleStudentPayment::getUserId, query.getStudentId())
+        List<CourseScheduleStudentPayment> scheduleStudentPayments = courseScheduleStudentPaymentService.lambdaQuery()
+                .eq(CourseScheduleStudentPayment::getUserId, query.getStudentId())
                 .eq(CourseScheduleStudentPayment::getCourseGroupId, query.getCourseGroupId())
                 .list();
         if (CollectionUtils.isEmpty(scheduleStudentPayments)) {
@@ -2696,7 +2699,10 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         if (CollectionUtils.isEmpty(courseIds)) {
             return Lists.newArrayList();
         }
-        List<CourseSchedule> courseSchedules = this.lambdaQuery().in(CourseSchedule::getId, courseIds).orderByDesc(CourseSchedule::getStartTime).list();
+        List<CourseSchedule> courseSchedules = this.lambdaQuery()
+                .in(CourseSchedule::getId, courseIds)
+                .ne(query.getAttendanceStatus() != null,CourseSchedule::getStatus,"NOT_START")
+                .orderByDesc(CourseSchedule::getStartTime).list();
         if(StringUtils.isNotEmpty(query.getClassMonth())){
             courseSchedules = courseSchedules.stream().
                     filter(courseSchedule -> query.getClassMonth().equals(DateUtil.dateToString(courseSchedule.getStartTime(),"yyyy-MM"))).collect(Collectors.toList());
@@ -2718,6 +2724,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         Map<Long, com.yonge.cooleshow.biz.dal.entity.SysUser> userMap = sysUserService.getMapByIds(teacherIds);
         List<CourseScheduleWrapper.StudentCourseList> courseVos = Lists.newArrayList();
         CourseGroup courseGroup = courseGroupService.lambdaQuery().eq(CourseGroup::getId, query.getCourseGroupId()).one();
+        Subject subject = subjectService.get(courseGroup.getSubjectId());
         for (CourseSchedule courseSchedule : courseSchedules) {
             CourseScheduleWrapper.StudentCourseList courseVo = new CourseScheduleWrapper.StudentCourseList();
             courseVo.setCourseId(courseSchedule.getId());
@@ -2727,6 +2734,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
             courseVo.setStatus(courseSchedule.getStatus());
             courseVo.setCourseGoupId(courseGroup.getId());
             courseVo.setCourseGroupName(courseGroup.getName());
+            courseVo.setSubjectId(courseGroup.getSubjectId());
+            courseVo.setSubjectName(subject.getName());
             if(query.getAttendanceStatus() == null){
                 courseVo.setAttendanceStatus(attendanceMap.getOrDefault(courseSchedule.getId(),false));
             }else {

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/course/CourseScheduleWrapper.java

@@ -94,6 +94,12 @@ public class CourseScheduleWrapper {
         @ApiModelProperty(value = "考勤状态 , false:未考勤 true:已考勤")
         private Boolean attendanceStatus;
 
+        @ApiModelProperty(value = "声部编号")
+        private Long subjectId;
+
+        @ApiModelProperty(value = "声部名称")
+        private String subjectName;
+
         @ApiModelProperty(value = "老师id")
         private Long userId;