|
|
@@ -137,6 +137,7 @@ public class FsUserCoursePeriodServiceImpl implements IFsUserCoursePeriodService
|
|
|
List<FsUserCoursePeriodDays> list = fsUserCoursePeriodDaysMapper.selectFsUserCoursePeriodDaysList(fsUserCoursePeriodDays);
|
|
|
|
|
|
// 对每个课程日期进行时间增加
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
for (FsUserCoursePeriodDays coursePeriodDays : list) {
|
|
|
// 将课程的日期按照差值天数进行调整
|
|
|
LocalDate adjustedDate = coursePeriodDays.getDayDate().plusDays(daysDifference);
|
|
|
@@ -147,6 +148,21 @@ public class FsUserCoursePeriodServiceImpl implements IFsUserCoursePeriodService
|
|
|
coursePeriodDays.setStartDateTime(startDateTime);
|
|
|
coursePeriodDays.setEndDateTime(endDateTime);
|
|
|
coursePeriodDays.setLastJoinTime(lastJsonTime);
|
|
|
+
|
|
|
+ // 根据调整后的时间重新计算课程状态(仅对非自由模式营期)
|
|
|
+ if (fsUserCoursePeriod.getFreeMode() == null || fsUserCoursePeriod.getFreeMode() != 1) {
|
|
|
+ if (now.isBefore(startDateTime)) {
|
|
|
+ // 未开始
|
|
|
+ coursePeriodDays.setStatus(0);
|
|
|
+ } else if (now.isAfter(endDateTime)) {
|
|
|
+ // 已结束
|
|
|
+ coursePeriodDays.setStatus(2);
|
|
|
+ } else {
|
|
|
+ // 进行中
|
|
|
+ coursePeriodDays.setStatus(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
fsUserCoursePeriodDaysMapper.updateFsUserCoursePeriodDays(coursePeriodDays); // 更新数据库中的课程日期
|
|
|
}
|
|
|
|