Bladeren bron

小组课创建

zouxuan 3 maanden geleden
bovenliggende
commit
40058cab5e

+ 6 - 1
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherCourseGroupController.java

@@ -8,6 +8,7 @@ import com.yonge.cooleshow.biz.dal.dto.LiveCourseGroupDto;
 import com.yonge.cooleshow.biz.dal.entity.CourseGroup;
 import com.yonge.cooleshow.biz.dal.entity.CourseTimeEntity;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 import com.yonge.cooleshow.biz.dal.service.CourseGroupService;
@@ -65,11 +66,12 @@ public class TeacherCourseGroupController extends BaseController {
             @ApiImplicitParam(name = "groupStatus", dataType = "String", value = "课程组状态  ING(进行中)  NOT_SALE(未开售,未上架) APPLY(报名中,销售中) COMPLETE(已完成) OUT_SALE(已下架)"),
             @ApiImplicitParam(name = "page", dataType = "Integer", value = "页数"),
             @ApiImplicitParam(name = "rows", dataType = "Integer", value = "每页数量"),
+            @ApiImplicitParam(name = "courseType", dataType = "String", value = "课程类型"),
             @ApiImplicitParam(name = "myself", dataType = "Boolean", value = "查看我自己的直播课"),
             @ApiImplicitParam(name = "version", dataType = "String", value = "版本"),
             @ApiImplicitParam(name = "platform", dataType = "Integer", value = "平台"),
     })
-    @ApiOperation("分页查询直播课课程组列表")
+    @ApiOperation("分页查询直播课、小组课 课程组列表")
     @PostMapping("/queryPageCourseGroup")
     public HttpResponseResult<PageInfo<CourseGroupVo>> queryPageLiveCourseGroup(@RequestBody Map<String, Object> param) {
 
@@ -103,6 +105,9 @@ public class TeacherCourseGroupController extends BaseController {
         if (appAuditVersion == YesOrNoEnum.NO && dto.getCoursePrice().compareTo(BigDecimal.ZERO) <= 0) {
             return failed("课程价格不能为0元");
         }
+        if(StringUtils.isEmpty(dto.getCourseType())){
+            dto.setCourseType(CourseScheduleEnum.LIVE.getCode());
+        }
         courseGroupService.addLiveCourse(dto);
         return succeed();
     }

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/CheckCourseTimeDto.java

@@ -25,7 +25,7 @@ public class CheckCourseTimeDto implements Serializable {
     private Integer loop;
 
     @NotBlank(message = "课程类型不能为空")
-    @ApiModelProperty(value = "PRACTICE:趣纠课,LIVE:直播课")
+    @ApiModelProperty(value = "PRACTICE:趣纠课,LIVE:直播课 GROUP 小组课")
     private String  courseType;
 
     @NotNull(message = "课程数不能为空")

+ 10 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/LiveCourseGroupDto.java

@@ -76,7 +76,8 @@ public class LiveCourseGroupDto implements Serializable {
     @ApiModelProperty(value = "最少成课人数")
     private Integer mixStudentNum;
 
-
+    @ApiModelProperty(value = "课程类型")
+    private String courseType;
 
     @NotNull(message = "课程休息时长不能为空")
     @ApiModelProperty(value = "课程休息时长")
@@ -143,6 +144,14 @@ public class LiveCourseGroupDto implements Serializable {
         }
     }
 
+    public String getCourseType() {
+        return courseType;
+    }
+
+    public void setCourseType(String courseType) {
+        this.courseType = courseType;
+    }
+
     public Integer getCourseFreeMinutes() {
         return courseFreeMinutes;
     }

+ 3 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/CourseScheduleEnum.java

@@ -17,6 +17,8 @@ public enum CourseScheduleEnum implements BaseEnum<String, CourseScheduleEnum> {
     LIVE("直播课"),
     PIANO_ROOM_CLASS("琴房课"),
     VIP("VIP定制课"),
+    //小组课
+    GROUP("小组课"),
     //课程状态
     NOT_START("未开始"),
     ING("进行中"),
@@ -40,7 +42,7 @@ public enum CourseScheduleEnum implements BaseEnum<String, CourseScheduleEnum> {
      * @param errMsg 错误异常
      */
     public static CourseScheduleEnum existCourseType(String code, String errMsg) {
-        CourseScheduleEnum[] values = {PRACTICE, LIVE, PIANO_ROOM_CLASS,VIP};
+        CourseScheduleEnum[] values = {PRACTICE, LIVE, PIANO_ROOM_CLASS,VIP,GROUP};
         existCourse(values, code, errMsg);
         //返回枚举对象
         return CourseScheduleEnum.valueOf(code);

+ 6 - 5
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java

@@ -225,7 +225,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
      */
     public PageInfo<CourseGroupVo> queryPageLiveCourseGroup(Map<String, Object> param) {
         //查询该月的所有直播课程
-        param.put("type", CourseScheduleEnum.LIVE.getCode());
+        param.put("type", param.get("courseType") == null?CourseScheduleEnum.LIVE.getCode():param.get("courseType").toString());
         Page<CourseGroupVo> pageInfo = PageUtil.getPageInfo(param);
         pageInfo.setAsc("b.created_time_");
         String os = WrapperUtil.toStr(param, "os");
@@ -263,10 +263,10 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         });
         cacheTime.fastPut(dto.getTeacherId(), timeEntities);
         Date now = new Date();
-        String live = CourseScheduleEnum.LIVE.getCode();
+        String courseType = dto.getCourseType();
         //写入课程组表
         CourseGroup group = new CourseGroup();
-        group.setType(live);
+        group.setType(courseType);
         group.setTeacherId(dto.getTeacherId());
         group.setName(dto.getName());
         group.setSubjectId(dto.getSubjectId());
@@ -290,7 +290,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         dto.getCoursePlanList().forEach(o -> {
             CourseSchedule course = new CourseSchedule();
             course.setCourseGroupId(group.getId());
-            course.setType(live);
+            course.setType(courseType);
             course.setClassNum(o.getClassNum());
             course.setTeacherId(dto.getTeacherId());
             course.setClassDate(o.getStartTime());
@@ -619,7 +619,8 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
             coursePlanDto.setFreeEndTime(DateUtil.offsetMinute(coursePlanDto.getEndTime(), dto.getCourseFreeMinutes()));
         }
         // true:趣纠课PRACTICE     false:LIVE直播课
-        boolean courseTypeFlag = Lists.newArrayList(CourseScheduleEnum.PRACTICE,CourseScheduleEnum.VIP).contains(CourseScheduleEnum.existCourseType(dto.getCourseType(), "课程类型不正确!"));
+        boolean courseTypeFlag = Lists.newArrayList(CourseScheduleEnum.PRACTICE,CourseScheduleEnum.VIP,CourseScheduleEnum.GROUP)
+                .contains(CourseScheduleEnum.existCourseType(dto.getCourseType(), "课程类型不正确!"));
         //先自校验传入时间是否交集
         List<CourseTimeEntity> timeList = dto.getTimeList();
         if (CollectionUtils.isEmpty(timeList)) {

+ 3 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml

@@ -155,6 +155,9 @@
             <if test="param.subjectId != null ">
                 and #{param.subjectId} = b.subject_id_
             </if>
+            <if test="param.type != null and param.type != ''">
+                and b.type_ = #{param.type}
+            </if>
         </where>
     </select>