Prechádzať zdrojové kódy

1、月度课酬显示为0的bug;
2、修复学员管理课表详情未开始课程学员考勤状态

Joburgess 5 rokov pred
rodič
commit
3f67a2272f

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

@@ -2084,22 +2084,23 @@ 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;
+
+			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();
+			}else{
 				TeacherDefaultVipGroupSalary tdvs = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(courseSchedules.get(0).getActualTeacherId(),vipGroup.getVipGroupCategoryId());
 				if (tdvs == null) {
 					throw new BizException("老师[]没有设置默认课酬,请先设置", courseSchedules.get(0).getActualTeacherId());
 				}
-				courseScheduleTeacherSalaryDao.batchUpdateCourseSalarys(courseScheduleIds,
-						vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)?tdvs.getOfflineClassesSalary():tdvs.getOnlineClassesSalary());
+				teacherSalary=vipGroupCourseAdjustInfo.getTeachMode().equals(TeachModeEnum.OFFLINE)?tdvs.getOfflineClassesSalary():tdvs.getOnlineClassesSalary();
 			}
+
+			courseScheduleTeacherSalaryDao.batchUpdateCourseSalarys(courseScheduleIds, teacherSalary);
+
 		}
 
         courseScheduleDao.batchUpdate(courseSchedules);
@@ -2704,24 +2705,23 @@ 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());
+
+						BigDecimal teacherSalary;
+
+						ClassGroupTeacherSalary classGroupTeacherSalary = classGroupTeacherSalaryDao.findByVipGoupAndTeacher(vipGroup.getId().intValue(), teacherId);
+
+						if(Objects.nonNull(classGroupTeacherSalary)){
+							teacherSalary=newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?classGroupTeacherSalary.getSalary():classGroupTeacherSalary.getOnlineClassesSalary();
+						}else{
+							TeacherDefaultVipGroupSalary tdvs = teacherDefaultVipGroupSalaryDao.findByTeacherAndCategory(teacherId,vipGroup.getVipGroupCategoryId());
 							if (tdvs == null) {
 								throw new BizException("老师[]没有设置默认课酬,请先设置", teacherId);
 							}
-							ts.setExpectSalary(newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?tdvs.getOfflineClassesSalary():tdvs.getOnlineClassesSalary());
+							teacherSalary=newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?tdvs.getOfflineClassesSalary():tdvs.getOnlineClassesSalary();
 						}
+
+						courseScheduleTeacherSalaryDao.batchUpdateCourseSalarys(courseScheduleIds, teacherSalary);
+
 					} else if (newCourseSchedule.getGroupType() == PRACTICE) {
 						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
 								.queryByUserId(teacherId);