Jelajahi Sumber

线上基础技能课与乐团网管课课酬结算规则调整

Joburgess 5 tahun lalu
induk
melakukan
f90a57b2e8

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -32,6 +32,11 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
      */
     public static final String ADVANCE_LEAVE_HOURS = "advance_leave_hours";
 
+    /**
+     * 最早请假提前时间
+     */
+    String EARLIEST_TIME_FOR_LEAVE="earliest_time_for_leave";
+
     String ENABLE_TEACHER_COURSE_ADJUST_DEFAULT_HOURS = "enable_teacher_course_adjust_default_hours";
 
     /**

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -818,6 +818,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Map<String, Object> result = new HashMap<>(3);
         result.put("vipAppealDaysRange", sysConfigDao.findConfigValue(SysConfigService.VIP_APPEAL_DAYS_RANGE));
         result.put("advanceLeaveHours", Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_LEAVE_HOURS)));
+        result.put("earliestTimeForLeave", Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.EARLIEST_TIME_FOR_LEAVE)));
         result.put("joinRoomBeforeTime",studentAttendanceAfterTimeConfig.getParanValue(Integer.class));
 		result.put("courseBeforeBufferTime", courseBeforeBufferTime.getParanValue(Integer.class));
 		result.put("courseAfterBufferTime", courseAfterBufferTime.getParanValue(Integer.class));

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -324,10 +324,20 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 			hours = Integer.parseInt(str);
 		}
 
+		int earliestTimeForLeave = 168;
+		SysConfig earliestTimeForLeaveConfig = sysConfigService.findByParamName(SysConfigService.EARLIEST_TIME_FOR_LEAVE);
+		if(Objects.nonNull(earliestTimeForLeaveConfig)){
+			earliestTimeForLeave = Integer.parseInt(earliestTimeForLeaveConfig.getParanValue());
+		}
+
 		if(DateUtil.addHours(date, hours).after(courseSchedule.getStartClassTime())){
 			throw new BizException("开课{}小时之前才可以请假",hours);
 		}
 
+		if(DateUtil.addHours(date, 168).before(courseSchedule.getStartClassTime())){
+			throw new BizException("请在开课前{}天内请假",earliestTimeForLeave/24);
+		}
+
 		StudentAttendance studentAttendance  = studentAttendanceDao.findByStatusAndCourseScheduleId(userId,courseScheduleId.intValue());
 		if(Objects.isNull(studentAttendance)){
 			studentAttendance=new StudentAttendance();