using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using GxPress.Entity;
using GxPress.Request.BlacklistUser;
using Datory;

namespace GxPress.Repository.Interface
{
    public interface IBlacklistUserRepository : IRepository
    {
        Task<IEnumerable<BlacklistUser>> GetBlacklistUserAsync(BlacklistUserSearchRequest request);

        Task<bool> InsertAsync(int userId, BlacklistUserInRequest request);

        Task<bool> DeleteAsync(int id);

        Task<bool> FindUserIsBlack(int userId, int blackUserId);

        Task<BlacklistUser> GetAsync(int id);

        Task<bool> InsertAsync(BlacklistUser request);

        /// <summary>
        /// 根据用户ID查询黑名单
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="blackUserId"></param>
        /// <returns></returns>
        Task<BlacklistUser> GetBlackUserAsync(int userId, int blackUserId);
    }
}
