|
@@ -1,12 +1,16 @@
|
|
|
package com.yonge.cooleshow.biz.dal.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import com.yonge.cooleshow.biz.dal.config.RongCloudConfig;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.ImGroupDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.ImGroupMemberDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dao.TeacherDao;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.BasicUserInfo;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.ImGroupMember;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ImGroupMemberRoleType;
|
|
|
import com.yonge.cooleshow.biz.dal.service.ImGroupMemberService;
|
|
|
import com.yonge.toolset.base.exception.BizException;
|
|
@@ -20,6 +24,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.text.MessageFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -139,5 +144,39 @@ public class ImGroupMemberServiceImpl extends ServiceImpl<ImGroupMemberDao, ImGr
|
|
|
public void startTransactional(Runnable runnable){
|
|
|
runnable.run();
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 群组成员信息
|
|
|
+ *
|
|
|
+ * @param params Map<String, Object>
|
|
|
+ * @return List<ImGroupMember>
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<ImGroupMember> findChatGroupAllMemberInfo(Map<String, Object> params) {
|
|
|
+
|
|
|
+ Object search = params.get("search");
|
|
|
+ List<ImGroupMember> members = getBaseMapper().selectList(Wrappers.<ImGroupMember>query().lambda()
|
|
|
+ .and(Objects.nonNull(search) && StringUtils.isNotEmpty(search.toString()),
|
|
|
+ e->e.eq(ImGroupMember::getUserId, search).or()
|
|
|
+ .like(ImGroupMember::getNickname, search))
|
|
|
+ .eq(ImGroupMember::getGroupId,params.get("groupId")).orderByDesc(ImGroupMember::getId));
|
|
|
+
|
|
|
+ if (CollectionUtils.isNotEmpty(members)) {
|
|
|
+
|
|
|
+ for (ImGroupMember item : members) {
|
|
|
+
|
|
|
+ item.setImUserId(String.valueOf(item.getUserId()));
|
|
|
+
|
|
|
+ if (ImGroupMemberRoleType.STUDENT == item.getRoleType()) {
|
|
|
+
|
|
|
+ item.setImUserId(MessageFormat.format("{0}:{1}", String.valueOf(item.getUserId()),
|
|
|
+ ClientEnum.STUDENT.getCode()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return Optional.ofNullable(members).orElse(Lists.newArrayList());
|
|
|
+ }
|
|
|
}
|
|
|
|