package com.ym.mec.biz.dal.dao;

import com.ym.mec.biz.dal.dto.ImGroupMemberDto;
import com.ym.mec.biz.dal.dto.NameDto;
import com.ym.mec.biz.dal.entity.ImGroup;
import com.ym.mec.common.dal.BaseDAO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ImGroupDao extends BaseDAO<String, ImGroup> {

	ImGroup getLocked(String imGroupId);

	/**
	 * 查询用户所在的群列表
	 * @param userId
	 * @param search
	 * @return
	 */
	List<ImGroup> queryByUserId(@Param("userId") Integer userId,
								@Param("search") String search,
								@Param("groupType") String groupType);

	/**
	 * 查询群成员列表
	 * @param imGroupId
	 * @return
	 */
	List<ImGroupMemberDto> queryMemberById(String imGroupId);

	ImGroupMemberDto queryMember(@Param("imGroupId") String imGroupId, @Param("userId") Integer userId);

    int updateNickname(@Param("userId") Integer userId, @Param("nickName") String nickName);

	int updateUserFriendNickname(@Param("userId") Integer userId, @Param("nickName") String nickName);

    void updateMemberNum();

    List<NameDto> queryNameByIds(@Param("ids") String ids);
}