|
@@ -663,17 +663,22 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 定时任务-定时修改为报名中状态-每隔10分钟执行一次
|
|
|
+ * <p>定时将符合开售日期的未开售的直播课课程组修改为报名中状态-每隔10分钟执行一次
|
|
|
+ * <p>定时将符合结束售卖日期的在售卖中的直播课课程组修改为取消或者成课状态状态-每隔10分钟执行一次
|
|
|
*/
|
|
|
- public void openCourseGroup() {
|
|
|
- LocalDate toDay = LocalDate.now();
|
|
|
- LocalDateTime startDay = LocalDateTime.of(toDay, LocalTime.MIN);
|
|
|
- LocalDateTime endDay = LocalDateTime.of(toDay, LocalTime.MAX);
|
|
|
+ public void opsCourseGroup() {
|
|
|
+ openCourseGroup();
|
|
|
+ closeCourseGroup();
|
|
|
+ }
|
|
|
|
|
|
+ /**
|
|
|
+ * 定时将符合开售日期的未开售的直播课课程组修改为报名中状态
|
|
|
+ */
|
|
|
+ private void openCourseGroup() {
|
|
|
//查询今天未开售的课程组
|
|
|
List<CourseGroup> courseGroupList = this.list(Wrappers.<CourseGroup>lambdaQuery()
|
|
|
- .ge(CourseGroup::getSalesStartDate, startDay)
|
|
|
- .lt(CourseGroup::getSalesStartDate, endDay)
|
|
|
+ .eq(CourseGroup::getType, CourseScheduleEnum.LIVE.getCode())
|
|
|
+ .eq(CourseGroup::getSalesStartDate, LocalDate.now())
|
|
|
.eq(CourseGroup::getStatus, CourseGroupEnum.NOT_SALE.getCode()));
|
|
|
if (CollectionUtils.isEmpty(courseGroupList)) {
|
|
|
return;
|
|
@@ -681,7 +686,37 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
//修改为报名中状态
|
|
|
courseGroupList.forEach(courseGroup -> {
|
|
|
courseGroup.setStatus(CourseGroupEnum.APPLY.getCode());
|
|
|
- this.updateById(courseGroup);
|
|
|
+ try {
|
|
|
+ this.updateById(courseGroup);
|
|
|
+ } catch (Exception ignored) {
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 定时将符合结束售卖日期的在售卖中的直播课课程组修改为取消或者成课状态状态
|
|
|
+ */
|
|
|
+ private void closeCourseGroup() {
|
|
|
+ //查询昨天要结束售卖的课程组
|
|
|
+ List<CourseGroup> courseGroupList = this.list(Wrappers.<CourseGroup>lambdaQuery()
|
|
|
+ .eq(CourseGroup::getType, CourseScheduleEnum.LIVE.getCode())
|
|
|
+ .eq(CourseGroup::getSalesEndDate, LocalDate.now().plusDays(-1))
|
|
|
+ .eq(CourseGroup::getStatus, CourseGroupEnum.APPLY.getCode()));
|
|
|
+ if (CollectionUtils.isEmpty(courseGroupList)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ courseGroupList.forEach(courseGroup -> {
|
|
|
+ if (courseGroup.getPreStudentNum() >= courseGroup.getMixStudentNum()) {
|
|
|
+ //人数达标则修改课程组为进行中状态
|
|
|
+ courseGroup.setStatus(CourseGroupEnum.ING.getCode());
|
|
|
+ } else {
|
|
|
+ //人数未达标则修改课程组为取消状态
|
|
|
+ courseGroup.setStatus(CourseGroupEnum.CANCEL.getCode());
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ this.updateById(courseGroup);
|
|
|
+ } catch (Exception ignored) {
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|