|
@@ -674,43 +674,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
|
|
|
|
|
|
@Override
|
|
|
public List<ImGroupModel> queryUserGroups(Integer userId, String search) {
|
|
|
- /*List<ImGroupModel> imGroupModels = musicGroupDao.queryUserGroups(userId, search);
|
|
|
-
|
|
|
- if (imGroupModels != null && imGroupModels.size() > 0) {
|
|
|
- //获取相关的所有乐团
|
|
|
- Set<String> musicGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
|
|
|
- List<MusicGroup> musicGroups = musicGroupDao.queryListByIds(musicGroupIds);
|
|
|
-
|
|
|
- //获取乐团群用户总数map
|
|
|
- List<Map<String, BigDecimal>> musicGroupUserNums = musicGroupDao.countMusicGroupUserNum(StringUtils.join(musicGroupIds, ","));
|
|
|
- Map<String, BigDecimal> musicGroupUserNumMap = MapUtil.convertMybatisMap(musicGroupUserNums);
|
|
|
- MusicGroup musicGroup;
|
|
|
- Set<Integer> teachers;
|
|
|
- for (ImGroupModel e : imGroupModels) {
|
|
|
- teachers = e.getName() == null ? new HashSet<>() : new HashSet(Arrays.asList(e.getName().split(",")));
|
|
|
- musicGroup = musicGroups.stream().filter(mg -> mg.getId().equals(e.getId())).findFirst().get();
|
|
|
- //获取教学老师id列表
|
|
|
- teachers.add(musicGroup.getTeamTeacherId());
|
|
|
- teachers.add(musicGroup.getEducationalTeacherId());
|
|
|
- teachers.add(musicGroup.getOperatorUserId());
|
|
|
- teachers.add(musicGroup.getDirectorUserId());
|
|
|
- teachers.removeAll(Collections.singleton(null));
|
|
|
- //获取乐团群用户总数
|
|
|
- BigDecimal count = musicGroupUserNumMap.get(e.getId());
|
|
|
- e.setCount(count == null ? 0 : count.intValue() + teachers.size());
|
|
|
- }
|
|
|
- } else {
|
|
|
- imGroupModels = new ArrayList<>();
|
|
|
- }*/
|
|
|
List<ImGroupModel> imGroupModels = classGroupDao.queryUserGroups(userId, search);
|
|
|
if (imGroupModels != null && imGroupModels.size() > 0) {
|
|
|
Set<String> classGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
|
|
|
//获取班级老师总数map
|
|
|
Map<Integer, Integer> numsMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countTeacherNums(StringUtils.join(classGroupIds, ",")))), HashMap.class);
|
|
|
imGroupModels.forEach(e -> {
|
|
|
- if(StringUtils.isNotEmpty(e.getGroupName())){
|
|
|
- e.setName(e.getGroupName() + " " + e.getName());
|
|
|
- }
|
|
|
Integer num = numsMap.get(Integer.parseInt(e.getId()));
|
|
|
e.setCount((num == null ? 0 : num) + e.getCount());
|
|
|
});
|