Explorar el Código

Merge branch 'Joburgess'

Joburgess hace 4 años
padre
commit
6ae96323a2

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -573,7 +573,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @param practiceGroupId
 	 * @param coursesExpireDate
 	 */
-	void updateCoursesExpireDate(String practiceGroupId, Date coursesExpireDate);
+	void updatePracticeGroupInDate(String practiceGroupId, Date courseStartDate, Date coursesExpireDate);
 
 	/**
 	 * 获取当前班级列表的所有未开始的课程

+ 16 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -4934,20 +4934,31 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void updateCoursesExpireDate(String practiceGroupId, Date coursesExpireDate) {
+	public void updatePracticeGroupInDate(String practiceGroupId, Date courseStartDate, Date coursesExpireDate) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if (null == user) {
 			throw new BizException("获取用户信息失败");
 		}
-    	if(practiceGroupId == null || coursesExpireDate == null ){
+    	if(practiceGroupId == null || courseStartDate == null || coursesExpireDate == null){
     		throw new BizException("参数校验失败");
 		}
 		PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(practiceGroupId));
     	if(practiceGroup == null){
 			throw new BizException("课程组不存在");
 		}
-		if(practiceGroup.getCoursesStartDate().after(coursesExpireDate)){
-			throw new BizException("课程有效时间不能早于开始时间");
+    	if(!GroupStatusEnum.NORMAL.equals(practiceGroup.getGroupStatus())){
+    		throw new BizException("非进行中课程组不可编辑");
+		}
+		if(courseStartDate.after(coursesExpireDate)){
+			throw new BizException("课程组有效结束时间不能早于课程组有效结开始时间");
+		}
+		Date minCourseTime = courseScheduleDao.getMinCourseTime(PRACTICE, practiceGroupId);
+		if(Objects.nonNull(minCourseTime)&&courseStartDate.compareTo(minCourseTime)>0){
+			throw new BizException("课程组有效结开始时间不得晚于第一节课开始时间");
+		}
+		Date maxCourseTime = courseScheduleDao.getMaxCourseTime(PRACTICE, practiceGroupId);
+		if(Objects.nonNull(maxCourseTime)&&coursesExpireDate.compareTo(maxCourseTime)<0){
+			throw new BizException("课程组有效结结束时间不得早于最后一节课结束时间");
 		}
 		if(Objects.nonNull(practiceGroup.getBuyMonths())){
 			LocalDate courseStartDay = LocalDateTime.ofInstant(practiceGroup.getCoursesStartDate().toInstant(), DateUtil.zoneId).toLocalDate();
@@ -4962,6 +4973,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		coursesGroupModifyLog.setGroupType(PRACTICE.getCode());
 		coursesGroupModifyLog.setOperatorId(user.getId());
 		coursesGroupModifyLog.setPreviousGroup(JSONObject.toJSONString(practiceGroup));
+		practiceGroup.setCoursesStartDate(courseStartDate);
 		practiceGroup.setCoursesExpireDate(DateUtil.addSeconds(DateUtil.addDays(coursesExpireDate, 1),-1));
 		practiceGroup.setUpdateTime(new Date());
 		practiceGroupDao.update(practiceGroup);

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -424,8 +424,8 @@ public class CourseScheduleController extends BaseController {
     @ApiOperation(value = "陪练课课程组有效期调整")
     @PostMapping("/updateCoursesExpireDate")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/updateCoursesExpireDate')")
-    public Object updateCoursesExpireDate(String practiceGroupId,Date coursesExpireDate){
-        courseScheduleService.updateCoursesExpireDate(practiceGroupId,coursesExpireDate);
+    public Object updateCoursesExpireDate(String practiceGroupId, Date courseStartDate,Date coursesExpireDate){
+        courseScheduleService.updatePracticeGroupInDate(practiceGroupId, courseStartDate,coursesExpireDate);
         return succeed();
     }