using System.Collections.Generic; using System.Threading.Tasks; using GxPress.Common.Page; using GxPress.Entity; using GxPress.Request.Notice; using GxPress.Result.Notice; using Datory; using GxPress.Result.Job; namespace GxPress.Repository.Interface { public interface INoticeRepository : IRepository { Task<Notice> GetAsync(SqlKata.Query query); Task<Notice> GetAsync(int id); Task<int> InsertAsync(NoticeInRequest request); /// <summary> /// 通知查询 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<PagedList<Notice>> GetNoticeByUserIdAsync(NoticePageSearchRequest request); /// <summary> /// 管理员删除通知 /// </summary> /// <param name="id"></param> /// <returns></returns> Task<bool> AdminDeleteAsync(int id); /// <summary> /// 自己删除 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> DeleteAsync(NoticeDeRequest request); Task<bool> DeleteAsync(SqlKata.Query query); /// <summary> /// 获取通知列表 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<PagedList<NoticeListPageResult>> GetNoticeListPageAsync(NoticePageSearchRequest request); /// <summary> /// 恢复删除的通知 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<bool> RecoverDeleteAsync(NoticeDeRequest request); /// <summary> /// 修改通知 /// </summary> /// <param name="notice"></param> /// <returns></returns> Task<bool> UpdateNoticeAsync(Notice notice); Task<PagedList<NoticeListPageResult>> GetAdminNoticeByUserIdAsync(NoticePageSearchRequest request); Task<IEnumerable<Notice>> GetAllAsync(); Task<List<JobNoticeResult>> ElasticSearchNotice(); /// <summary> /// 通知修改 /// </summary> /// <param name="id"></param> /// <param name="request"></param> /// <returns></returns> Task<bool> UpdateAsync(SqlKata.Query query); } }