|
@@ -2077,22 +2077,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
if(groupType == VIP){
|
|
|
VipGroup vipGroup = vipGroupDao.get(vipGroupCourseAdjustInfo.getVipGroupId().longValue());
|
|
|
- try {
|
|
|
- Map<String, BigDecimal> costInfo = vipGroupService.countVipGroupPredictFee(vipGroup,
|
|
|
- courseSchedules.get(0).getActualTeacherId(),
|
|
|
- vipGroup.getOnlineClassesUnitPrice(),
|
|
|
- vipGroup.getOfflineClassesUnitPrice(),
|
|
|
- false,true);
|
|
|
- courseScheduleTeacherSalaryDao.batchUpdateCourseSalarys(courseScheduleIds,
|
|
|
- vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)?costInfo.get("offlineTeacherSalary"):costInfo.get("onlineTeacherSalary"));
|
|
|
- } catch (Exception e) {
|
|
|
+
|
|
|
+ BigDecimal teacherSalary=BigDecimal.ZERO;
|
|
|
+
|
|
|
+ ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroupCourseAdjustInfo.getVipGroupId().intValue(), courseSchedules.get(0).getActualTeacherId());
|
|
|
+
|
|
|
+ if(Objects.nonNull(classGroupTeacherSalary)){
|
|
|
+ teacherSalary=vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)?classGroupTeacherSalary.getSalary():classGroupTeacherSalary.getOnlineClassesSalary();
|
|
|
+ }
|
|
|
+ if(teacherSalary.compareTo(BigDecimal.ZERO)<=0){
|
|
|
TeacherDefaultVipGroupSalary tdvs = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(courseSchedules.get(0).getActualTeacherId(),vipGroup.getVipGroupCategoryId());
|
|
|
- if (tdvs == null) {
|
|
|
+ if (tdvs == null||Objects.isNull(tdvs.getOfflineClassesSalary())) {
|
|
|
throw new BizException("老师[]没有设置默认课酬,请先设置", courseSchedules.get(0).getActualTeacherId());
|
|
|
}
|
|
|
- courseScheduleTeacherSalaryDao.batchUpdateCourseSalarys(courseScheduleIds,
|
|
|
- vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)?tdvs.getOfflineClassesSalary():tdvs.getOnlineClassesSalary());
|
|
|
+ teacherSalary=tdvs.getOfflineClassesSalary();
|
|
|
}
|
|
|
+
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdateCourseSalarys(courseScheduleIds, teacherSalary);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
courseScheduleDao.batchUpdate(courseSchedules);
|
|
@@ -2697,24 +2699,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
if (vipGroup == null) {
|
|
|
throw new BizException("课程[{}]记录存在异常,请联系管理员", courseScheduleId);
|
|
|
}
|
|
|
- try {
|
|
|
- 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"));
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- TeacherDefaultVipGroupSalary tdvs = map.get(vipGroup.getVipGroupCategoryId());
|
|
|
- if (tdvs == null) {
|
|
|
+
|
|
|
+ BigDecimal teacherSalary=BigDecimal.ZERO;
|
|
|
+
|
|
|
+ ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroup.getId().intValue(), teacherId);
|
|
|
+
|
|
|
+ if(Objects.nonNull(classGroupTeacherSalary)){
|
|
|
+ teacherSalary=newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?classGroupTeacherSalary.getSalary():classGroupTeacherSalary.getOnlineClassesSalary();
|
|
|
+ }
|
|
|
+ if(teacherSalary.compareTo(BigDecimal.ZERO)<=0){
|
|
|
+ TeacherDefaultVipGroupSalary tdvs = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(teacherId,vipGroup.getVipGroupCategoryId());
|
|
|
+ if (tdvs == null||Objects.isNull(tdvs.getOfflineClassesSalary())) {
|
|
|
throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
|
|
|
}
|
|
|
- ts.setExpectSalary(newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?tdvs.getOfflineClassesSalary():tdvs.getOnlineClassesSalary());
|
|
|
+ teacherSalary=tdvs.getOfflineClassesSalary();
|
|
|
}
|
|
|
+
|
|
|
+ courseScheduleTeacherSalaryDao.batchUpdateCourseSalarys(courseScheduleIds, teacherSalary);
|
|
|
+
|
|
|
} else if (newCourseSchedule.getGroupType() == PRACTICE) {
|
|
|
List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
|
|
|
.queryByUserId(teacherId);
|