Przeglądaj źródła

营期修改优化 复制营期调整创建时间

wangxy 3 dni temu
rodzic
commit
d12d5d4e93

+ 16 - 2
fs-service/src/main/java/com/fs/course/service/impl/FsUserCoursePeriodServiceImpl.java

@@ -109,6 +109,7 @@ public class FsUserCoursePeriodServiceImpl implements IFsUserCoursePeriodService
     @Override
     public int updateFsUserCoursePeriod(FsUserCoursePeriod fsUserCoursePeriod) {
         // 1. 查询原始数据
+        fsUserCoursePeriod.setCreateTime(null);
         fsUserCoursePeriod.setUpdateTime(LocalDateTime.now());
 
         if(LocalDate.now().isBefore(fsUserCoursePeriod.getPeriodStartingTime())){
@@ -145,17 +146,29 @@ public class FsUserCoursePeriodServiceImpl implements IFsUserCoursePeriodService
             LocalDate adjustedDate = coursePeriodDays.getDayDate().plusDays(daysDifference);
             LocalDateTime startDateTime = coursePeriodDays.getStartDateTime().plusDays(daysDifference);
             LocalDateTime endDateTime = coursePeriodDays.getEndDateTime().plusDays(daysDifference);
-            LocalDateTime lastJsonTime = coursePeriodDays.getLastJoinTime().plusDays(daysDifference);
+            LocalDateTime lastJoinTime = coursePeriodDays.getLastJoinTime() == null ? null : coursePeriodDays.getLastJoinTime().plusDays(daysDifference);
             coursePeriodDays.setDayDate(adjustedDate);
             coursePeriodDays.setStartDateTime(startDateTime);
             coursePeriodDays.setEndDateTime(endDateTime);
-            coursePeriodDays.setLastJoinTime(lastJsonTime);
+            coursePeriodDays.setLastJoinTime(lastJoinTime);
+            coursePeriodDays.setStatus(calculateCourseStatus(startDateTime, endDateTime));
             fsUserCoursePeriodDaysMapper.updateFsUserCoursePeriodDays(coursePeriodDays); // 更新数据库中的课程日期
         }
 
         return flag;
     }
 
+    private Integer calculateCourseStatus(LocalDateTime startDateTime, LocalDateTime endDateTime) {
+        LocalDateTime now = LocalDateTime.now();
+        if (startDateTime != null && now.isBefore(startDateTime)) {
+            return 0;
+        }
+        if (endDateTime != null && now.isAfter(endDateTime)) {
+            return 2;
+        }
+        return 1;
+    }
+
     /**
      * 批量删除会员营期
      *
@@ -240,6 +253,7 @@ public class FsUserCoursePeriodServiceImpl implements IFsUserCoursePeriodService
         BeanUtils.copyProperties(source, copy, "periodId");
         copy.setPeriodName(source.getPeriodName() + " - 副本");
         copy.setDelFlag(0);
+        copy.setCreateTime(LocalDateTime.now());
         copy.setUpdateTime(null);
         insertFsUserCoursePeriod(copy);