|
@@ -5,16 +5,18 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
|
|
|
import com.ym.mec.auth.api.entity.SysUser;
|
|
|
import com.ym.mec.auth.api.enums.SysUserType;
|
|
|
import com.ym.mec.auth.api.enums.YesOrNoEnum;
|
|
|
-import com.ym.mec.biz.dal.dao.OrganizationDao;
|
|
|
-import com.ym.mec.biz.dal.dao.SubjectDao;
|
|
|
-import com.ym.mec.biz.dal.dao.TeacherDao;
|
|
|
+import com.ym.mec.biz.dal.dao.*;
|
|
|
+import com.ym.mec.biz.dal.dto.BasicUserDto;
|
|
|
+import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
|
import com.ym.mec.biz.dal.entity.Teacher;
|
|
|
import com.ym.mec.biz.dal.page.TeacherQueryInfo;
|
|
|
import com.ym.mec.biz.service.TeacherService;
|
|
|
import com.ym.mec.common.dal.BaseDAO;
|
|
|
+import com.ym.mec.common.entity.ImGroupModel;
|
|
|
import com.ym.mec.common.entity.ImResult;
|
|
|
import com.ym.mec.common.entity.ImUserModel;
|
|
|
import com.ym.mec.common.page.PageInfo;
|
|
|
+import com.ym.mec.common.page.QueryInfo;
|
|
|
import com.ym.mec.common.service.impl.BaseServiceImpl;
|
|
|
import com.ym.mec.im.ImFeignService;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -22,8 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implements TeacherService {
|
|
@@ -33,6 +34,10 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
@Autowired
|
|
|
private SubjectDao subjectDao;
|
|
|
@Autowired
|
|
|
+ private MusicGroupDao musicGroupDao;
|
|
|
+ @Autowired
|
|
|
+ private ClassGroupDao classGroupDao;
|
|
|
+ @Autowired
|
|
|
private OrganizationDao organizationDao;
|
|
|
@Autowired
|
|
|
private SysUserFeignService sysUserFeignService;
|
|
@@ -90,6 +95,49 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public List<ImGroupModel> queryTeacherGroups(Integer userId,String search) {
|
|
|
+ //获取教师所在乐团列表
|
|
|
+ List<ImGroupModel> imGroupModels = musicGroupDao.queryTeacherGroups(userId,search);
|
|
|
+ //获取教师所在班级列表
|
|
|
+ List<ImGroupModel> imGroupModels1 = classGroupDao.queryTeacherGroups(userId,search);
|
|
|
+ if(imGroupModels != null && imGroupModels.size() > 0){
|
|
|
+ imGroupModels.forEach(e -> {
|
|
|
+ //获取创建乐团的老师
|
|
|
+ MusicGroup musicGroup = musicGroupDao.get(e.getId());
|
|
|
+ //获取教学老师id列表
|
|
|
+ Set<Integer> teachers = musicGroupDao.queryTeacherIds(e.getId());
|
|
|
+ teachers.add(musicGroup.getTeamTeacherId());
|
|
|
+ teachers.add(musicGroup.getEducationalTeacherId());
|
|
|
+ teachers.add(musicGroup.getOperatorUserId());
|
|
|
+ teachers.add(musicGroup.getDirectorUserId());
|
|
|
+ teachers.removeAll(Collections.singleton(null));
|
|
|
+ //获取乐团群用户总数
|
|
|
+ e.setCount(musicGroupDao.countMusicGroupUserNum(e.getId()) + teachers.size());
|
|
|
+ e.setId("mg" + e.getId());
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ imGroupModels = new ArrayList<>();
|
|
|
+ }
|
|
|
+ if(imGroupModels1 != null && imGroupModels1.size() > 0){
|
|
|
+ imGroupModels1.forEach(e -> {
|
|
|
+ //获取当前班级老师总数
|
|
|
+ Set<Integer> teachers = classGroupDao.queryTeacherIds(e.getId());
|
|
|
+ teachers.removeAll(Collections.singleton(null));
|
|
|
+ e.setCount(e.getCount() + teachers.size());
|
|
|
+ e.setId("cg" + e.getId());
|
|
|
+ });
|
|
|
+ imGroupModels.addAll(imGroupModels1);
|
|
|
+ }
|
|
|
+
|
|
|
+ return imGroupModels;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<BasicUserDto> queryGroupStudents(Integer teacherId, String search) {
|
|
|
+ return teacherDao.queryGroupStudents(teacherId,search);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public PageInfo<Teacher> queryPageDetail(TeacherQueryInfo queryInfo) {
|
|
|
PageInfo<Teacher> pageInfo = queryPage(queryInfo);
|
|
|
List<Teacher> teachers = pageInfo.getRows();
|
|
@@ -109,10 +157,10 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> imple
|
|
|
if(teacher != null){
|
|
|
if(StringUtils.isNotEmpty(teacher.getFlowOrganRange())){
|
|
|
List<String> organNames = organizationDao.findByOrganIds(teacher.getFlowOrganRange());
|
|
|
- teacher.setFlowOrganRange(JSON.toJSONString(organNames));
|
|
|
+ teacher.setFlowOrganRange(StringUtils.join(organNames,","));
|
|
|
}
|
|
|
if(StringUtils.isNotEmpty(teacher.getSubjectId())){
|
|
|
- teacher.setSubjectId(JSON.toJSONString(subjectDao.findBySubIds(teacher.getSubjectId())));
|
|
|
+ teacher.setSubjectId(StringUtils.join(subjectDao.findBySubIds(teacher.getSubjectId()),","));
|
|
|
}
|
|
|
}
|
|
|
return teacher;
|