|
@@ -1,14 +1,10 @@
|
|
|
package com.ym.mec.biz.service.impl;
|
|
|
|
|
|
-import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.biz.dal.dao.*;
|
|
|
-import com.ym.mec.biz.dal.dto.CourseScheduleDto;
|
|
|
-import com.ym.mec.biz.dal.dto.PracticeGroupDto;
|
|
|
-import com.ym.mec.biz.dal.dto.SimpleUserDto;
|
|
|
-import com.ym.mec.biz.dal.dto.TeacherBasicDto;
|
|
|
+import com.ym.mec.biz.dal.dto.*;
|
|
|
import com.ym.mec.biz.dal.entity.*;
|
|
|
import com.ym.mec.biz.dal.enums.*;
|
|
|
import com.ym.mec.biz.dal.page.PracticeGroupQueryInfo;
|
|
@@ -26,7 +22,6 @@ import com.ym.mec.im.ImFeignService;
|
|
|
import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
|
|
|
import com.ym.mec.util.collection.MapUtil;
|
|
|
import com.ym.mec.util.date.DateUtil;
|
|
|
-import io.swagger.models.auth.In;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -92,8 +87,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
//沈阳分部编号
|
|
|
private static final Integer SHENYANG_ORGAN_ID = 6;
|
|
|
|
|
|
- private static Map<Integer, String> subjectSubjectsMap = new HashMap<>();
|
|
|
-
|
|
|
private static Date activityStartDate, activityEndDate, applyStartDay, courseExpireDate;
|
|
|
|
|
|
static {
|
|
@@ -141,17 +134,6 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
for (Integer schoolId : schoolIds3) {
|
|
|
schoolSubjectTeachersMap.put(schoolId, subjectTeachersMap3);
|
|
|
}
|
|
|
-
|
|
|
- subjectSubjectsMap.put(2, "2");
|
|
|
- subjectSubjectsMap.put(4, "4,5");
|
|
|
- subjectSubjectsMap.put(5, "4,5");
|
|
|
- subjectSubjectsMap.put(12, "12,13");
|
|
|
- subjectSubjectsMap.put(13, "12,13");
|
|
|
- subjectSubjectsMap.put(14, "14,15,16,17");
|
|
|
- subjectSubjectsMap.put(15, "14,15,16,17");
|
|
|
- subjectSubjectsMap.put(16, "14,15,16,17");
|
|
|
- subjectSubjectsMap.put(17, "14,15,16,17");
|
|
|
- subjectSubjectsMap.put(23, "23");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -187,7 +169,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
sysUser.setOrganId(SHENYANG_ORGAN_ID);
|
|
|
}
|
|
|
|
|
|
- List<TeacherBasicDto> organAndSubjectTeachers = teacherDao.findTeaTeachersByOrganAndSubject(sysUser.getOrganId(), subjectSubjectsMap.get(practiceGroup.getSubjectId()));
|
|
|
+ List<TeacherBasicDto> organAndSubjectTeachers = teacherDao.findTeaTeachersByOrganAndSubject(sysUser.getOrganId(), practiceGroup.getSubjectId());
|
|
|
if (CollectionUtils.isEmpty(organAndSubjectTeachers)) {
|
|
|
return null;
|
|
|
}
|
|
@@ -706,7 +688,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public List<SimpleUserDto> getEnableApplyTeachers(Integer userId, Integer subjectId) {
|
|
|
+ public List<TeacherBasicDto> getEnableApplyTeachers(Integer userId, Integer subjectId) {
|
|
|
if(Objects.isNull(subjectId)){
|
|
|
throw new BizException("请选择声部");
|
|
|
}
|
|
@@ -718,7 +700,46 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
throw new BizException("未找到用户分部属性");
|
|
|
}
|
|
|
|
|
|
- return null;
|
|
|
+ //如果是广州分部的,并且声部满足条件的需要特殊处理
|
|
|
+ if (sysUser.getOrganId().equals(GUANGZHOU_ORGAN_ID) && GUANGZHOU_SUBJECTIDS.contains(subjectId)) {
|
|
|
+ List<MusicGroup> userMusicGroups = musicGroupDao.findUserMusicGroups(userId);
|
|
|
+ if (!CollectionUtils.isEmpty(userMusicGroups)) {
|
|
|
+ Collections.shuffle(userMusicGroups);
|
|
|
+ Integer schoolId = userMusicGroups.get(0).getSchoolId();
|
|
|
+ if (schoolSubjectTeachersMap.containsKey(schoolId)) {
|
|
|
+ List<Integer> teacherIds = schoolSubjectTeachersMap.get(schoolId).get(subjectId);
|
|
|
+ if(!CollectionUtils.isEmpty(teacherIds)){
|
|
|
+ return teacherDao.findTeachers(teacherIds);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (sysUser.getOrganId().equals(DALIAN_ORGAN_ID)) {
|
|
|
+ sysUser.setOrganId(SHENYANG_ORGAN_ID);
|
|
|
+ }
|
|
|
+
|
|
|
+ Set<Integer> includeTeacherIds=new HashSet<>();
|
|
|
+ List<ExtendTeacherBasicDto> organAndSubjectTeachers = teacherDao.findTeaTeachersByOrganAndSubject1(sysUser.getOrganId(), subjectId);
|
|
|
+ if(CollectionUtils.isEmpty(organAndSubjectTeachers)){
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+
|
|
|
+ for (ExtendTeacherBasicDto organAndSubjectTeacher : organAndSubjectTeachers) {
|
|
|
+ if(1==organAndSubjectTeacher.getIsSupportExtraPracticeLesson()){
|
|
|
+ includeTeacherIds.add(organAndSubjectTeacher.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Integer> allTeacherIds = organAndSubjectTeachers.stream().map(TeacherBasicDto::getId).collect(Collectors.toList());;
|
|
|
+ List<CourseScheduleTeacherSalary> studentRelateTeachers = courseScheduleTeacherSalaryDao.findStudentRelateTeachers(userId, allTeacherIds);
|
|
|
+ if (!CollectionUtils.isEmpty(studentRelateTeachers)) {
|
|
|
+ for (CourseScheduleTeacherSalary studentRelateTeacher : studentRelateTeachers) {
|
|
|
+ includeTeacherIds.add(studentRelateTeacher.getUserId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(CollectionUtils.isEmpty(new ArrayList<>(includeTeacherIds))){
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ return teacherDao.findTeachers(new ArrayList<>(includeTeacherIds));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -754,7 +775,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
|
|
|
}
|
|
|
|
|
|
if (CollectionUtils.isEmpty(teacherIds)) {
|
|
|
- List<TeacherBasicDto> organAndSubjectTeachers = teacherDao.findTeaTeachersByOrganAndSubject(sysUser.getOrganId(), subjectSubjectsMap.get(subjectId));
|
|
|
+ List<TeacherBasicDto> organAndSubjectTeachers = teacherDao.findTeaTeachersByOrganAndSubject(sysUser.getOrganId(), subjectId);
|
|
|
if (CollectionUtils.isEmpty(organAndSubjectTeachers)) {
|
|
|
result.put("teacherFreeDates", new ArrayList<>());
|
|
|
return result;
|