|
@@ -811,6 +811,12 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
sysUser.setOrganId(SHENYANG_ORGAN_ID);
|
|
|
}
|
|
|
|
|
|
+ Integer practiceCourseMinutes = 25;
|
|
|
+ SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
|
|
|
+ if (Objects.nonNull(practiceCourseMinutesConfig)) {
|
|
|
+ practiceCourseMinutes = practiceCourseMinutesConfig.getParanValue(Integer.class);
|
|
|
+ }
|
|
|
+
|
|
|
List<Integer> includeTeacherIds = new ArrayList<>();
|
|
|
List<ExtendTeacherBasicDto> organAndSubjectTeachers = teacherDao.findTeaTeachersByOrganAndSubject1(sysUser.getOrganId(), subjectId);
|
|
|
if (CollectionUtils.isEmpty(organAndSubjectTeachers)) {
|
|
@@ -819,6 +825,13 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
List<Integer> allTeacherIds = organAndSubjectTeachers.stream().map(TeacherBasicDto::getId).collect(Collectors.toList());
|
|
|
|
|
|
+ List<TeacherDefaultPracticeGroupSalary> haveDefaultSalaryTeachers = teacherDefaultPracticeGroupSalaryDao.findByTeachersAndCourseMinutes(allTeacherIds, practiceCourseMinutes);
|
|
|
+ if(CollectionUtils.isEmpty(haveDefaultSalaryTeachers)){
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+ Set<Integer> hasDefaultSalaryTeacherIds = haveDefaultSalaryTeachers.stream().map(TeacherDefaultPracticeGroupSalary::getUserId).collect(Collectors.toSet());
|
|
|
+ allTeacherIds = new ArrayList<>(hasDefaultSalaryTeacherIds);
|
|
|
+
|
|
|
List<CourseSchedule> userCourses = courseScheduleDao.findUserCourses(userId, allTeacherIds);
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(userCourses)) {
|
|
@@ -850,7 +863,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
|
|
|
for (ExtendTeacherBasicDto organAndSubjectTeacher : organAndSubjectTeachers) {
|
|
|
- if (!includeTeacherIds.contains(organAndSubjectTeacher.getId())) {
|
|
|
+ if (!includeTeacherIds.contains(organAndSubjectTeacher.getId())&&hasDefaultSalaryTeacherIds.contains(organAndSubjectTeacher.getId())) {
|
|
|
includeTeacherIds.add(organAndSubjectTeacher.getId());
|
|
|
}
|
|
|
}
|
|
@@ -1965,6 +1978,18 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
|
|
|
List<TeacherAttendance> teacherAttendances = new ArrayList<>();
|
|
|
|
|
|
+ TeacherDefaultPracticeGroupSalary teacherDefaultPracticeGroupSalary = teacherDefaultPracticeGroupSalaryDao.findByTeacherAndCourseMinutes(practiceGroup.getUserId(), practiceCourseMinutes);
|
|
|
+ BigDecimal teacherDefaultSalary = null;
|
|
|
+ if (Objects.nonNull(teacherDefaultPracticeGroupSalary)) {
|
|
|
+ teacherDefaultSalary = teacherDefaultPracticeGroupSalary.getMainTeacherSalary();
|
|
|
+ }
|
|
|
+ if(teacherDefaultSalary == null){
|
|
|
+ throw new BizException("请设置教师课酬");
|
|
|
+ }
|
|
|
+ if(teacherDefaultSalary.compareTo(new BigDecimal(0))>0){
|
|
|
+ teacherDefaultSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
|
|
|
+ }
|
|
|
+
|
|
|
for (Date courseDate : allCourseDates) {
|
|
|
//课表
|
|
|
CourseSchedule courseSchedule = new CourseSchedule();
|
|
@@ -1992,7 +2017,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
courseScheduleTeacherSalary.setMusicGroupId(practiceGroup.getId().toString());
|
|
|
courseScheduleTeacherSalary.setTeacherRole(classGroupTeacherMapper.getTeacherRole());
|
|
|
courseScheduleTeacherSalary.setUserId(practiceGroup.getUserId());
|
|
|
- courseScheduleTeacherSalary.setExpectSalary(new BigDecimal(practiceCourseSalaryConfig.getParanValue()));
|
|
|
+ courseScheduleTeacherSalary.setExpectSalary(teacherDefaultSalary);
|
|
|
courseScheduleTeacherSalary.setCreateTime(now);
|
|
|
courseScheduleTeacherSalary.setUpdateTime(now);
|
|
|
courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
|
|
@@ -2363,6 +2388,12 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
// sysUser.setOrganId(SHENYANG_ORGAN_ID);
|
|
|
// }
|
|
|
|
|
|
+ Integer practiceCourseMinutes = 25;
|
|
|
+ SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
|
|
|
+ if (Objects.nonNull(practiceCourseMinutesConfig)) {
|
|
|
+ practiceCourseMinutes = practiceCourseMinutesConfig.getParanValue(Integer.class);
|
|
|
+ }
|
|
|
+
|
|
|
List<Integer> includeTeacherIds = new ArrayList<>();
|
|
|
List<ExtendTeacherBasicDto> organAndSubjectTeachers = teacherDao.findTeaTeachersByOrganAndSubject2(sysUser.getOrganId(), subjectId);
|
|
|
if (CollectionUtils.isEmpty(organAndSubjectTeachers)) {
|
|
@@ -2371,6 +2402,13 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
List<Integer> allTeacherIds = organAndSubjectTeachers.stream().map(TeacherBasicDto::getId).collect(Collectors.toList());
|
|
|
|
|
|
+ List<TeacherDefaultPracticeGroupSalary> haveDefaultSalaryTeachers = teacherDefaultPracticeGroupSalaryDao.findByTeachersAndCourseMinutes(allTeacherIds, practiceCourseMinutes);
|
|
|
+ if(CollectionUtils.isEmpty(haveDefaultSalaryTeachers)){
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+ Set<Integer> hasDefaultSalaryTeacherIds = haveDefaultSalaryTeachers.stream().map(TeacherDefaultPracticeGroupSalary::getUserId).collect(Collectors.toSet());
|
|
|
+ allTeacherIds = new ArrayList<>(hasDefaultSalaryTeacherIds);
|
|
|
+
|
|
|
List<CourseSchedule> userCourses = courseScheduleDao.findUserCourses2(userId, allTeacherIds);
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(userCourses)) {
|
|
@@ -2412,7 +2450,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
|
|
|
for (ExtendTeacherBasicDto organAndSubjectTeacher : organAndSubjectTeachers) {
|
|
|
- if (!includeTeacherIds.contains(organAndSubjectTeacher.getId())) {
|
|
|
+ if (!includeTeacherIds.contains(organAndSubjectTeacher.getId())&&hasDefaultSalaryTeacherIds.contains(organAndSubjectTeacher.getId())) {
|
|
|
includeTeacherIds.add(organAndSubjectTeacher.getId());
|
|
|
}
|
|
|
}
|
|
@@ -3206,6 +3244,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
|
|
|
public HttpResponseResult createPackagePracticeGroup(PracticeGroupBuyDto practiceGroupBuyParams) {
|
|
|
+ studentDao.lockUser(practiceGroupBuyParams.getStudentId());
|
|
|
if (Objects.isNull(practiceGroupBuyParams.getUserId())) {
|
|
|
return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "请选择教师");
|
|
|
}
|
|
@@ -3240,8 +3279,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
|
|
|
Integer practiceCourseMinutes = practiceCourseMinutesConfig.getParanValue(Integer.class);
|
|
|
SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
|
|
|
- SysConfig practiceBuyActivityExpireDateConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_BUY_ACTIVITY_EXPIRE_DATE);
|
|
|
- SysConfig practicePromotionActivityStartDateConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_PROMOTION_ACTIVITY_START_DATE);
|
|
|
|
|
|
Date now = new Date();
|
|
|
|