浏览代码

feat: vip课休学有效期

Joburgess 4 年之前
父节点
当前提交
aaa53de88e

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRecoverDto.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.dal.entity;
 
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.Date;
+
 /**
  * @Author Joburgess
  * @Date 2019/12/23
@@ -16,6 +18,17 @@ public class StudentRecoverDto extends CourseGenerateDto{
     @ApiModelProperty(value = "教师编号")
     private Integer teacherId;
 
+    @ApiModelProperty(value = "课程截至时间")
+    private Date expireDate;
+
+    public Date getExpireDate() {
+        return expireDate;
+    }
+
+    public void setExpireDate(Date expireDate) {
+        this.expireDate = expireDate;
+    }
+
     public Integer getTeacherId() {
         return teacherId;
     }

+ 3 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1936,7 +1936,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
         pauseInfos.put("teaChModeSequence", teachModeSequence);
         pauseInfos.put("coursePriceInfo",coursePrices);
-//        pauseInfos.put("days", days);
+        pauseInfos.put("days", days);
 
         StudentPauseInfo  studentPauseInfo=new StudentPauseInfo();
 		studentPauseInfo.setUserId(studentId);
@@ -2074,12 +2074,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 
 			if(courseInfo1.containsKey("days")){
-				int surplusDays = Integer.valueOf(courseInfo1.get("days").toString());
-				LocalDate nowDate = LocalDate.now();
 				CourseSchedule courseSchedule = newCourseSchedules.stream().max(Comparator.comparing(CourseSchedule::getClassDate)).get();
-				int days = (int) nowDate.until(LocalDateTime.ofInstant(courseSchedule.getClassDate().toInstant(), DateUtil.zoneId), ChronoUnit.DAYS);
-				if(days>surplusDays){
-					throw new BizException("您必须在{}天内完成剩余课程", surplusDays);
+				if(courseSchedule.getEndClassTime().compareTo(studentRecoverInfo.getExpireDate())>0&&!DateUtil.isSameDay(courseSchedule.getEndClassTime(), studentRecoverInfo.getExpireDate())){
+					throw new BizException("排课时间不可超过{}", DateUtil.dateToString(studentRecoverInfo.getExpireDate(), "yyyy年MM月dd日"));
 				}
 			}