using System.Collections.Generic; using System.Threading.Tasks; using GxPress.Entity; using Datory; using GxPress.Request.Notice; using GxPress.Result.Notice; using SqlKata; using GxPress.Result.App.Missive; using GxPress.Request.App.Missive; namespace GxPress.Repository.Interface { /// <summary> /// 收件人 /// </summary> public interface IAddresseeRepository : IRepository { /// <summary> /// 根据通知ID获取抄送人 /// </summary> /// <param name="noticeId"></param> /// <returns></returns> Task<IEnumerable<Addressee>> GetNoticeAddresseeByNoticeIdAsync(int noticeId); Task<bool> DeleteAsync(int noticeId, int sourceType, int isAdmin); Task<int> InsertAsync(Addressee noticeAddressee); /// <summary> /// 插入收件人 /// </summary> /// <param name="noticeAddressees"></param> /// <returns></returns> Task<bool> InsertAsync(List<Addressee> noticeAddressees); Task<IEnumerable<NoticeReadListResult>> GetNoticeAddresseeByUserIdIdAsync(NoticeReadListRequest request); Task<int> CountAsync(SqlKata.Query query); Task<IEnumerable<Addressee>> GetAllAsync(SqlKata.Query query); Task<bool> UpdateAsync(SqlKata.Query query); /// <summary> /// 获取收件人 /// </summary> /// <param name="noticeId"></param> /// <returns></returns> Task<IEnumerable<User>> GetUserByNoticeIdAsync(int noticeId); Task<bool> ExistsAsync(Query query); Task<IEnumerable<MissiveReadListResult>> GetMissiveReadListAsync(MissiveReadListRequest request); } }