Bläddra i källkod

小小训练营

zouxuan 3 år sedan
förälder
incheckning
a077241e26

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ImGroupMemberDao.java

@@ -27,4 +27,7 @@ public interface ImGroupMemberDao extends BaseDAO<Long, ImGroupMember> {
 
 	void delRepeat();
 
+    List<ImGroupMember> queryMembers(@Param("groupId") String groupId,
+									 @Param("userIdList") List<String> userIdList,
+									 @Param("tenantId") Integer tenantId);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImGroupMemberService.java

@@ -93,4 +93,6 @@ public interface ImGroupMemberService extends BaseService<Long, ImGroupMember> {
 	boolean isExit(String groupId, String userId);
 
 	void delRepeat();
+
+	List<ImGroupMember> queryMembers(String groupId, List<String> userIdList, Integer tenantId);
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupMemberServiceImpl.java

@@ -362,4 +362,9 @@ public class ImGroupMemberServiceImpl extends BaseServiceImpl<Long, ImGroupMembe
 	public void delRepeat() {
 		imGroupMemberDao.delRepeat();
 	}
+
+	@Override
+	public List<ImGroupMember> queryMembers(String groupId, List<String> userIdList, Integer tenantId) {
+		return imGroupMemberDao.queryMembers(groupId, userIdList, tenantId);
+	}
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -7,12 +7,14 @@ import com.ym.mec.biz.dal.dao.ImGroupMemberDao;
 import com.ym.mec.biz.dal.dao.ImGroupNoticeDao;
 import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
 import com.ym.mec.biz.dal.entity.ImGroup;
+import com.ym.mec.biz.dal.entity.ImGroupMember;
 import com.ym.mec.biz.service.ImGroupMemberService;
 import com.ym.mec.biz.service.ImGroupService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.im.entity.GroupMember;
 import com.ym.mec.im.entity.GroupModel;
@@ -114,6 +116,8 @@ public class ImGroupServiceImpl extends BaseServiceImpl<String, ImGroup> impleme
 		imGroup.setType(groupType);
 		imGroup.setUpdateTime(date);
 		imGroupDao.insert(imGroup);
+		List<ImGroupMember> groupMemberList = imGroupMemberDao.queryMembers(groupId, userIdList, TenantContextHolder.getTenantId());
+		imGroupMemberDao.batchInsert(groupMemberList);
         Function<String,GroupMember> newGroup = userId ->new GroupMember(userId, groupId);
 		List<GroupMember> groupMembers =  userIdList.stream().map(newGroup).collect(Collectors.toList());
 		GroupMember[] members = new GroupMember[groupMembers.size()];

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/ImGroupMemberMapper.xml

@@ -129,4 +129,13 @@
 	<select id="isExit" resultType="java.lang.Boolean">
 		SELECT COUNT(DISTINCT userId) FROM im_group_member WHERE im_group_id_ = #{groupId} AND user_id_ = #{userId}
 	</select>
+    <select id="queryMembers" resultMap="ImGroupMember">
+		SELECT #{groupId} im_group_id_,CASE WHEN su.username_ IS NULL OR su.username_ = '' THEN su.real_name_ ELSE su.username_ END nickname_,
+		       #{tenantId} tenant_id_
+		FROM sys_user su
+		WHERE su.id_ IN
+		<foreach collection="userIdList" item="item" open="(" separator="," close=")">
+			#{item}
+		</foreach>
+	</select>
 </mapper>