|
@@ -7,6 +7,7 @@ import static com.ym.mec.biz.dal.enums.GroupType.COMM;
|
|
|
import static com.ym.mec.biz.dal.enums.GroupType.MUSIC;
|
|
|
import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
|
|
|
import static com.ym.mec.biz.dal.enums.GroupType.VIP;
|
|
|
+import static com.ym.mec.biz.dal.enums.MusicGroupStatusEnum.PROGRESS;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.Duration;
|
|
@@ -2179,7 +2180,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
Integer musicGroupStudentClassAdjustId = classGroup4MixDto.getMusicGroupStudentClassAdjustId();
|
|
|
//学生结算表
|
|
|
courseScheduleStudentPaymentService.createForMusicGroup(courseScheduleList, studentIdList, musicGroupStudentClassAdjustId);
|
|
|
- imUserFriendService.refreshClassImUserFriend(classGroup.getId());
|
|
|
return classGroup;
|
|
|
}
|
|
|
return null;
|
|
@@ -2202,23 +2202,25 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
|
|
|
List<ClassGroupTeacherMapper> byClassGroup = classGroupTeacherMapperDao.findByClassGroup(classGroupId);
|
|
|
- if (byClassGroup != null && byClassGroup.size() > 0) {
|
|
|
- ClassGroupTeacherMapper groupTeacherMapper = byClassGroup.stream().filter(classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole() == TeachTypeEnum.BISHOP).findFirst().get();
|
|
|
- if (groupTeacherMapper != null) {
|
|
|
- imGroupMemberService.quit(classGroupId.longValue(), groupTeacherMapper.getUserId());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
List<ClassGroupTeacherMapper> newTeacherMapperList = classGroup4MixDtos.get(0).getClassGroupTeacherMapperList();
|
|
|
- if (newTeacherMapperList.size() > 0) {
|
|
|
- //获取之前的班级老师
|
|
|
- Set<Integer> groupTeacher = classGroupDao.findGroupTeacher(classGroupId);
|
|
|
- groupTeacher.forEach(e -> {
|
|
|
- imGroupMemberService.quit(classGroupId.longValue(), e);
|
|
|
- });
|
|
|
- newTeacherMapperList.forEach(e -> {
|
|
|
- imGroupMemberService.join(classGroupId.longValue(), e.getUserId(), "指导老师", false);
|
|
|
- });
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
|
|
|
+ if(musicGroup.getStatus() == PROGRESS){
|
|
|
+ if (byClassGroup != null && byClassGroup.size() > 0) {
|
|
|
+ ClassGroupTeacherMapper groupTeacherMapper = byClassGroup.stream().filter(classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole() == TeachTypeEnum.BISHOP).findFirst().get();
|
|
|
+ if (groupTeacherMapper != null) {
|
|
|
+ imGroupMemberService.quit(classGroupId.longValue(), groupTeacherMapper.getUserId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (newTeacherMapperList.size() > 0) {
|
|
|
+ //获取之前的班级老师
|
|
|
+ Set<Integer> groupTeacher = classGroupDao.findGroupTeacher(classGroupId);
|
|
|
+ groupTeacher.forEach(e -> {
|
|
|
+ imGroupMemberService.quit(classGroupId.longValue(), e);
|
|
|
+ });
|
|
|
+ newTeacherMapperList.forEach(e -> {
|
|
|
+ imGroupMemberService.join(classGroupId.longValue(), e.getUserId(), "指导老师", false);
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
if (Objects.nonNull(classGroup4MixDtos.get(0).getCourseAddType()) && classGroup4MixDtos.get(0).getCourseAddType().equals("onlyUpdateTeacher")) {
|
|
|
List<Integer> classGroupIds = new ArrayList<>();
|
|
@@ -2242,8 +2244,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
|
|
|
classGroupService.updateTotalClassTimes(classGroup.getId(), courseTimes);
|
|
|
|
|
|
- MusicGroup musicGroup = musicGroupDao.get(classGroup.getMusicGroupId());
|
|
|
-
|
|
|
Integer schoolId = teachMode.equals(TeachModeEnum.ONLINE) ? null : musicGroup.getSchoolId();
|
|
|
|
|
|
List<Subject> subjectList = subjectService.findBySubjectByIdList(classGroup.getSubjectIdList());
|
|
@@ -2272,11 +2272,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
.map(ClassGroupTeacherMapper::getUserId)
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
- //所有教师列表
|
|
|
- List<Teacher> teachers = teacherDao.findByTeacherIds(allTeacherIds);
|
|
|
- Map<Integer, Teacher> teacherMap = teachers.stream()
|
|
|
- .collect(Collectors.toMap(Teacher::getId, teacher -> teacher));
|
|
|
-
|
|
|
Set<String> newTeacher = newClassGroupTeacherMapperList.stream().map(
|
|
|
classGroupTeacherMapper -> classGroupTeacherMapper.getTeacherRole().getCode() + classGroupTeacherMapper.getUserId()
|
|
|
).collect(Collectors.toSet());
|
|
@@ -2313,7 +2308,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
Integer totalMinutes = courseTypeMinutesMap.get(classGroup4MixDto.getCourseType().getCode());
|
|
|
long totalCourseDuration = 0;
|
|
|
-// classGroup4MixDto.setCourseTimes(totalMinutes/(int)courseDuration);
|
|
|
|
|
|
if (classGroup4MixDto.getCourseTimes() <= 0) {
|
|
|
throw new BizException("{}课程类型剩余课程时长不足", classGroup4MixDto.getCourseType().getMsg());
|
|
@@ -2399,12 +2393,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //排课处理
|
|
|
-// if (classGroup.getType().equals(ClassGroupTypeEnum.SNAP)) {
|
|
|
-// courseScheduleService.checkSnapCourseShchedules(courseScheduleList);
|
|
|
-// } else {
|
|
|
courseScheduleService.checkNewCourseSchedules(courseScheduleList, false, false);
|
|
|
-// }
|
|
|
|
|
|
//老师结算表
|
|
|
if (courseScheduleTeacherSalaryList.size() > 0) {
|
|
@@ -2417,7 +2406,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
//学生结算表
|
|
|
courseScheduleStudentPaymentService.createForMusicGroup(musicGroupId, courseScheduleList, studentIds);
|
|
|
}
|
|
|
- imUserFriendService.refreshClassImUserFriend(classGroupId);
|
|
|
+ if(musicGroup.getStatus() == PROGRESS){
|
|
|
+ imUserFriendService.refreshClassImUserFriend(classGroupId);
|
|
|
+ }
|
|
|
return classGroup;
|
|
|
}
|
|
|
|
|
@@ -2981,9 +2972,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- imGroupService.create(classGroup.getId().longValue(), musicGroup.getTeamTeacherId(), classGroup.getName(), musicGroup.getName(), musicGroup.getName(), musicGroup.getName(), null, "MUSIC");
|
|
|
+ imGroupService.create(classGroup.getId().longValue(), null, classGroup.getName(), musicGroup.getName(), musicGroup.getName(), musicGroup.getName(), null, "MUSIC");
|
|
|
imGroupMemberService.join(classGroup.getId().longValue(), userRoleMap);
|
|
|
- imUserFriendService.refreshClassImUserFriend(classGroup.getId());
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -3341,9 +3331,6 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
settingsDetail.setCourseTotalNum(subNum.intValue());
|
|
|
settingsDetail.setCourseType(CourseScheduleType.valueOf(courseType));
|
|
|
settingsDetail.setUnitPrice(unitPrice);
|
|
|
-// settingsDetail.setCourseTotalMinuties(Integer.parseInt(jsonObject.get(courseType).toString()) * subNum.intValue());
|
|
|
-// settingsDetail.setCourseCurrentPrice(unitPrice.multiply(new BigDecimal(settingsDetail.getCourseTotalMinuties())));
|
|
|
-// settingsDetail.setCourseOriginalPrice(settingsDetail.getCourseCurrentPrice());
|
|
|
courseMap.put(courseType, settingsDetail);
|
|
|
}
|
|
|
resultMap.put(classGroupId, courseMap);
|
|
@@ -3356,7 +3343,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public String mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
|
|
|
+ public HttpResponseResult mergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
|
|
|
List<Integer> classGroupIds = mergeClassSplitClassAffirmDto.getClassGroupIds();
|
|
|
if (classGroupIds == null || classGroupIds.size() == 0) {
|
|
|
throw new BizException("参数校验失败");
|
|
@@ -3440,6 +3427,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
musicGroupStudentClassAdjustDao.insert(musicGroupStudentClassAdjust);
|
|
|
//如果需要审核,校验参数配置
|
|
|
checkMergeClassSplitClassAffirmParam(mergeClassSplitClassAffirmDto);
|
|
|
+ HttpResponseResult httpResponseResult = new HttpResponseResult();
|
|
|
+ httpResponseResult.setStatus(true);
|
|
|
+ httpResponseResult.setCode(200);
|
|
|
//如果缴费项目不需要审核,那么生成班级以及课表
|
|
|
if (status == null || status != AUDITING) {
|
|
|
//每种课程类型单独进行排课
|
|
@@ -3473,14 +3463,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
//删除教师课酬
|
|
|
courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(delCourseIds);
|
|
|
}
|
|
|
- return "学员班级调整完成";
|
|
|
+ imUserFriendService.refreshGroupImUserFriend(musicGroup.getId(),MUSIC);
|
|
|
+ httpResponseResult.setMsg("学员班级调整完成");
|
|
|
} else {
|
|
|
//冻结班级
|
|
|
classGroupDao.batchUpdateLockByClassGroupIds(classGroupIds, 1);
|
|
|
//冻结所选班级的课程
|
|
|
courseScheduleDao.batchUpdateLockByCourseIds(allLockCourseIds, 1);
|
|
|
- return "学员班级调整申请已提交,缴费项目审核中";
|
|
|
+ httpResponseResult.setMsg("学员班级调整申请已提交,缴费项目审核中");
|
|
|
}
|
|
|
+ return httpResponseResult;
|
|
|
}
|
|
|
|
|
|
public void checkMergeClassSplitClassAffirmParam(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
|
|
@@ -3699,7 +3691,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public String spanGroupMergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
|
|
|
+ public HttpResponseResult spanGroupMergeClassSplitClassAffirm(MergeClassSplitClassAffirmDto mergeClassSplitClassAffirmDto) {
|
|
|
SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
//缴费项目
|
|
|
MusicGroupPaymentCalenderDto paymentCalenderDto = mergeClassSplitClassAffirmDto.getMusicGroupPaymentCalenderDtos().get(0);
|
|
@@ -3781,18 +3773,22 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
List<Long> allLockCourseIds = courseScheduleDao.queryStudentNotStartByClassIdsAndStudentIds(classGroupIds, null);
|
|
|
musicGroupStudentClassAdjust.setAllLockCourseIds(JSON.toJSONString(allLockCourseIds));
|
|
|
musicGroupStudentClassAdjustDao.insert(musicGroupStudentClassAdjust);
|
|
|
+ HttpResponseResult httpResponseResult = new HttpResponseResult();
|
|
|
+ httpResponseResult.setCode(200);
|
|
|
+ httpResponseResult.setStatus(true);
|
|
|
//没有需要审核的缴费项目
|
|
|
if (paymentCalenderDto.getStatus() != AUDITING) {
|
|
|
List<Map> classGroupStudents1 = JSON.parseArray(musicGroupStudentClassAdjust.getClassGroupStudents(),Map.class);
|
|
|
spanGroupClassAdjustPass(masterClassGroupId,studentIds,courseIds,classGroupStudents1,allLockCourseIds,paymentCalenderDto.getBatchNo(),masterTotalPrice);
|
|
|
- return "操作成功:学员班级调整完成";
|
|
|
+ httpResponseResult.setMsg("操作成功:学员班级调整完成");
|
|
|
}else {
|
|
|
// 冻结班级
|
|
|
classGroupDao.batchUpdateLockByClassGroupIds(classGroupIds, 1);
|
|
|
// 冻结所选班级的课程
|
|
|
courseScheduleDao.batchUpdateLockByCourseIds(allLockCourseIds, 1);
|
|
|
- return "操作成功:学员班级调整申请已提交,缴费项目审核中";
|
|
|
+ httpResponseResult.setMsg("操作成功:学员班级调整申请已提交,缴费项目审核中");
|
|
|
}
|
|
|
+ return httpResponseResult;
|
|
|
}
|
|
|
|
|
|
@Override
|