Joburgess 5 years ago
parent
commit
b7334f200d

+ 48 - 49
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -1905,7 +1905,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             throw new BizException("排课起始时间不能小于当前时间");
         }
 
-        boolean needSchoolId = Objects.nonNull(vipGroupCourseAdjustInfo.getTeachMode()) && vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE) && Objects.isNull(vipGroupCourseAdjustInfo.getSchoolId());
+        boolean needSchoolId = Objects.nonNull(vipGroupCourseAdjustInfo.getTeachMode()) && vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE) && Objects.isNull(vipGroupCourseAdjustInfo.getTeachMode());
         if (needSchoolId) {
             throw new BizException("请设置教学点");
         }
@@ -2032,9 +2032,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                     courseSchedules.get(courseStartDates.size() - 1).setEndClassTime(courseEndTime);
                     if (Objects.nonNull(vipGroupCourseAdjustInfo.getTeachMode())) {
                         if(courseSchedules.get(courseStartDates.size() - 1).getTeachMode().equals(TeachModeEnum.ONLINE)
-                            &&vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)
-							&&Objects.isNull(vipGroupCourseAdjustInfo.getSchoolId())){
-                            throw new BizException("请选择教学点");
+								&&vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)){
+							throw new BizException("暂不支持线上课程转为线下课");
                         }
                         courseSchedules.get(courseStartDates.size() - 1).setTeachMode(vipGroupCourseAdjustInfo.getTeachMode());
                         if (vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)) {
@@ -2362,10 +2361,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 newCourseSchedule.setTeachMode(oldCourseSchedule.getTeachMode());
             }
 
-			if (newCourseSchedule.getTeachMode() != oldCourseSchedule.getTeachMode()
-					&& newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE
-					&& Objects.isNull(newCourseSchedule.getSchoolId())) {
-				throw new BizException("请设置教学点");
+			if (newCourseSchedule.getGroupType() == GroupType.VIP) {
+				if (newCourseSchedule.getTeachMode() != oldCourseSchedule.getTeachMode() && newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE) {
+					throw new BizException("不允许将线上课调整为线下课");
+				}
 			}
 
             if (Objects.isNull(newCourseSchedule.getSchoolId())) {
@@ -2555,18 +2554,18 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				}
 
 				// 所有老师默认vip课酬
-				List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries = teacherDefaultVipGroupSalaryDao.queryByUserIdList(newTeacherIdList);
-				Map<Integer, Map<Integer, TeacherDefaultVipGroupSalary>> vipGroupSalaryMap = new HashMap<Integer, Map<Integer, TeacherDefaultVipGroupSalary>>();
-				for (TeacherDefaultVipGroupSalary tdvs : teacherDefaultVipGroupSalaries) {
-					Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(tdvs.getUserId());
-					if (map == null) {
-						map = new HashMap<Integer, TeacherDefaultVipGroupSalary>();
-					}
-					map.put(tdvs.getVipGroupCategoryId(), tdvs);
-					vipGroupSalaryMap.put(tdvs.getUserId(), map);
-				}
-
-				VipGroup vipGroup = vipGroupDao.findByCourseSchedule(courseScheduleId);
+//				List<TeacherDefaultVipGroupSalary> teacherDefaultVipGroupSalaries = teacherDefaultVipGroupSalaryDao.queryByUserIdList(newTeacherIdList);
+//				Map<Integer, Map<Integer, TeacherDefaultVipGroupSalary>> vipGroupSalaryMap = new HashMap<Integer, Map<Integer, TeacherDefaultVipGroupSalary>>();
+//				for (TeacherDefaultVipGroupSalary tdvs : teacherDefaultVipGroupSalaries) {
+//					Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(tdvs.getUserId());
+//					if (map == null) {
+//						map = new HashMap<Integer, TeacherDefaultVipGroupSalary>();
+//					}
+//					map.put(tdvs.getVipGroupCategoryId(), tdvs);
+//					vipGroupSalaryMap.put(tdvs.getUserId(), map);
+//				}
+//
+//				VipGroup vipGroup = vipGroupDao.findByCourseSchedule(courseScheduleId);
 
 				// 删除课酬
 				List<Long> courseScheduleIdList = new ArrayList<Long>();
@@ -2671,36 +2670,36 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						}
 
 					} else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
-						Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(teacherId);
-						if (map == null) {
-							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
-						}
-						if (vipGroup == null) {
-							throw new BizException("课程[{}]记录存在异常,请联系管理员", courseScheduleId);
-						}
-						TeacherDefaultVipGroupSalary tdvs = map.get(vipGroup.getVipGroupCategoryId());
-						if (tdvs == null) {
-							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
-						}
-						Map<String, BigDecimal> costInfo = vipGroupService.countVipGroupPredictFee(vipGroup,
-								teacherId,
-								vipGroup.getOnlineClassesUnitPrice(),
-								vipGroup.getOfflineClassesUnitPrice(),
-								false,true);
-						if (newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE) {
-							ts.setExpectSalary(costInfo.get("offlineTeacherSalary"));
-						} else {
-							ts.setExpectSalary(costInfo.get("onlineTeacherSalary"));
-						}
-
-//						ts.setExpectSalary(new BigDecimal(0));
-//						Map<Integer, CourseScheduleTeacherSalary> tsMap = courseScheduleTeacherSalaryMap.get(courseScheduleId);
-//						if(tsMap != null){
-//							CourseScheduleTeacherSalary oldTS = tsMap.get(teacherId);
-//							if(oldTS != null){
-//								ts.setExpectSalary(oldTS.getExpectSalary());
-//							}
+//						Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(teacherId);
+//						if (map == null) {
+//							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
+//						}
+//						if (vipGroup == null) {
+//							throw new BizException("课程[{}]记录存在异常,请联系管理员", courseScheduleId);
+//						}
+//						TeacherDefaultVipGroupSalary tdvs = map.get(vipGroup.getVipGroupCategoryId());
+//						if (tdvs == null) {
+//							throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
 //						}
+//						Map<String, BigDecimal> costInfo = vipGroupService.countVipGroupPredictFee(vipGroup,
+//								teacherId,
+//								vipGroup.getOnlineClassesUnitPrice(),
+//								vipGroup.getOfflineClassesUnitPrice(),
+//								false,true);
+//						if (newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE) {
+//							ts.setExpectSalary(costInfo.get("offlineTeacherSalary"));
+//						} else {
+//							ts.setExpectSalary(costInfo.get("onlineTeacherSalary"));
+//						}
+
+						ts.setExpectSalary(new BigDecimal(0));
+						Map<Integer, CourseScheduleTeacherSalary> tsMap = courseScheduleTeacherSalaryMap.get(courseScheduleId);
+						if(tsMap != null){
+							CourseScheduleTeacherSalary oldTS = tsMap.get(teacherId);
+							if(oldTS != null){
+								ts.setExpectSalary(oldTS.getExpectSalary());
+							}
+						}
 					} else if (newCourseSchedule.getGroupType() == PRACTICE) {
 						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
 								.queryByUserId(teacherId);