Pārlūkot izejas kodu

Merge branch 'zx_course_adjust' of http://git.dayaedu.com/yonge/mec into zx-06-15-live

zouxuan 2 gadi atpakaļ
vecāks
revīzija
58c1d5db8b

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/VipGroupBuyParamsDto.java

@@ -32,4 +32,7 @@ public class VipGroupBuyParamsDto extends BaseEntity {
     private List<Integer> couponIdList;
 
     private Integer userId;
+
+    @ApiModelProperty(value = "是否继续支付")
+    private Boolean continuePay;
 }

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

@@ -323,7 +323,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @param postponeFlag: 如果冲突是否顺延
 	 * @return void
 	 */
-	Boolean checkNewCourseSchedules(List<CourseSchedule> courseSchedules,boolean checkExistCourseSchedule,Boolean postponeFlag);
+	HttpResponseResult checkNewCourseSchedules(List<CourseSchedule> courseSchedules,boolean checkExistCourseSchedule,Boolean postponeFlag);
 
 
 	/**
@@ -334,7 +334,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 * @param postponeFlag: 如果冲突是否顺延
 	 * @return void
 	 */
-	Boolean checkNewCourseSchedules(List<CourseSchedule> courseSchedules,boolean checkExistCourseSchedule,Boolean postponeFlag,ClassGroupStudentMapper classGroupStudentMapper);
+	HttpResponseResult checkNewCourseSchedules(List<CourseSchedule> courseSchedules,boolean checkExistCourseSchedule,Boolean postponeFlag,ClassGroupStudentMapper classGroupStudentMapper);
 
 	/**
 	 * @describe

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -2403,8 +2403,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Transactional(rollbackFor = Exception.class)
     public List<CourseSchedule> autoAdjust(ClassGroup4MixDto classGroup4MixDto, List<CourseSchedule> courseScheduleList, MusicGroupStudentClassAdjust classAdjust) {
-        Boolean checkFlag = courseScheduleService.checkNewCourseSchedules(courseScheduleList, false, true);
-        if (!checkFlag) {
+        HttpResponseResult result = courseScheduleService.checkNewCourseSchedules(courseScheduleList, false, true);
+        if (result.getCode() == 500) {
             //排课开始时间加一周
             Date stringToDate = DateUtil.stringToDate(classGroup4MixDto.getStartDate(), DateUtil.ISO_EXPANDED_DATE_FORMAT);
             classGroup4MixDto.setStartDate(DateUtil.format(DateUtil.addDays(stringToDate, 7), DateUtil.ISO_EXPANDED_DATE_FORMAT));

+ 29 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -1873,9 +1873,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Transactional(rollbackFor = Exception.class)
-    public Boolean checkCourseSchedules(List<CourseSchedule> courseSchedules, boolean checkExistCourseSchedule,Boolean postponeFlag,ClassGroupStudentMapper classGroupStudentMapper) {
+    public HttpResponseResult checkCourseSchedules(List<CourseSchedule> courseSchedules, boolean checkExistCourseSchedule,Boolean postponeFlag,ClassGroupStudentMapper classGroupStudentMapper) {
 		if (CollectionUtils.isEmpty(courseSchedules)) {
-			return false;
+			return BaseController.failed();
 		}
 		List<String> classDates = courseSchedules.stream().map(courseSchedule -> DateUtil.dateToString(courseSchedule.getClassDate(), "yyyy-MM-dd"))
 				.collect(Collectors.toList());
@@ -1929,8 +1929,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				.collect(Collectors.toList());
 		//班级与学生的关联记录
 		List<ClassGroupStudentMapper> classGroupStudentMappers = classGroupStudentMapperDao.findByClassGroups(classGroupIds);
+		Boolean liveFlag = false;
 		if(Objects.nonNull(classGroupStudentMapper)){
 			classGroupStudentMappers.add(classGroupStudentMapper);
+			if(classGroupStudentMapper.getGroupType() == LIVE){
+				liveFlag = true;
+			}
 		}
 		Map<Integer, List<ClassGroupStudentMapper>> classGroupStudentsMap = classGroupStudentMappers
 				.stream()
@@ -1990,16 +1994,15 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						if (Objects.nonNull(preCourseSchedule.getActualTeacherId())
 								&& preCourseSchedule.getActualTeacherId().equals(backCourseSchedule.getActualTeacherId())) {
 							if(postponeFlag){
-								return false;
+								return BaseController.failed();
 							}else {
+								if(liveFlag){
+									return BaseController.failed(HttpStatus.CHECKPOINT,
+											courseCheckInfo(preCourseSchedule, backCourseSchedule, existCourseScheduleIds, 1) + ",是否继续购买");
+								}
 								throw new BizException(courseCheckInfo(preCourseSchedule, backCourseSchedule, existCourseScheduleIds, 1));
 							}
 						}
-
-//                        if(Objects.isNull(preCourseSchedule.getId())){
-//                            continue;
-//                        }
-
 						//助教冲突检测
 						List<Integer> preTeachingTeacherIdList = new ArrayList<>();
 						List<Integer> backTeachingTeacherIdList = new ArrayList<>();
@@ -2039,8 +2042,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 									.collect(Collectors.toList());
 							if (!CollectionUtils.isEmpty(repeatIds)) {
 								if(postponeFlag){
-									return false;
+									return BaseController.failed();
 								}else {
+									if(liveFlag){
+										return BaseController.failed(HttpStatus.CHECKPOINT,
+												courseCheckInfo(preCourseSchedule, backCourseSchedule, existCourseScheduleIds, 2) + ",是否继续购买");
+									}
 									throw new BizException(courseCheckInfo(preCourseSchedule, backCourseSchedule, existCourseScheduleIds, 2));
 								}
 							}
@@ -2049,8 +2056,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						if (preCourseSchedule.getClassGroupId().equals(backCourseSchedule.getClassGroupId())) {
 							//如果班级相同,则学生肯定存在冲突
 							if(postponeFlag){
-								return false;
+								return BaseController.failed();
 							}else {
+								if(liveFlag){
+									return BaseController.failed(HttpStatus.CHECKPOINT,
+											courseCheckInfo(preCourseSchedule, backCourseSchedule, existCourseScheduleIds, 3) + ",是否继续购买");
+								}
 								throw new BizException(courseCheckInfo(preCourseSchedule, backCourseSchedule, existCourseScheduleIds, 3));
 							}
 						}
@@ -2088,8 +2099,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 								.collect(Collectors.toList());
 						if (!CollectionUtils.isEmpty(repeatStudentIds)) {
 							if(postponeFlag){
-								return false;
+								return BaseController.failed();
 							}else {
+								if(liveFlag){
+									return BaseController.failed(HttpStatus.CHECKPOINT,
+											courseCheckInfo(preCourseSchedule, backCourseSchedule, existCourseScheduleIds, 3) + ",是否继续购买");
+								}
 								throw new BizException(courseCheckInfo(preCourseSchedule, backCourseSchedule, existCourseScheduleIds, 3));
 							}
 						}
@@ -2097,18 +2112,18 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				}
 			}
 		}
-		return true;
+		return BaseController.succeed();
 	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-    public Boolean checkNewCourseSchedules(List<CourseSchedule> courseSchedules, boolean checkExistCourseSchedule,Boolean postponeFlag,ClassGroupStudentMapper classGroupStudentMapper) {
+    public HttpResponseResult checkNewCourseSchedules(List<CourseSchedule> courseSchedules, boolean checkExistCourseSchedule,Boolean postponeFlag,ClassGroupStudentMapper classGroupStudentMapper) {
 		return this.checkCourseSchedules(courseSchedules,checkExistCourseSchedule,postponeFlag,classGroupStudentMapper);
 	}
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-    public Boolean checkNewCourseSchedules(List<CourseSchedule> courseSchedules, boolean checkExistCourseSchedule,Boolean postponeFlag) {
+    public HttpResponseResult checkNewCourseSchedules(List<CourseSchedule> courseSchedules, boolean checkExistCourseSchedule,Boolean postponeFlag) {
 		return this.checkCourseSchedules(courseSchedules,checkExistCourseSchedule,postponeFlag,null);
     }
 

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -2712,7 +2712,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         classGroupStudentMapper.setTenantId(classGroup.getTenantId());
 
         List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(), CourseSchedule.class);
-        courseScheduleService.checkNewCourseSchedules(courseSchedules, false, false,classGroupStudentMapper);
+        HttpResponseResult responseResult = courseScheduleService.checkNewCourseSchedules(courseSchedules, false, false, classGroupStudentMapper);
+        if (!vipGroupBuyParams.getContinuePay() && responseResult.getCode() == 103) {
+            return responseResult;
+        }
 
         //校验优惠券
         String[] checkCoupon = CouponDetailTypeEnum.getAllowType(couponDetailTypeEnum);