using System.Collections.Generic; using System.Threading.Tasks; using Datory; using GxPress.Common.Page; using GxPress.Request.AppChannel; using GxPress.Request.ArticleGroup; using GxPress.Request.Media; using GxPress.Result.AppChannel; using GxPress.Result.Media; namespace GxPress.Repository.Interface.Media { public interface IMediaRepository : IRepository { Task<MediaResult> GetAsync(int id); Task<Entity.tede2.Media.Media> GetAsync(string autoNumber); /// <summary> /// 删除 /// </summary> /// <param name="id"></param> /// <returns></returns> Task<bool> DeleteAsync(int id); /// <summary> /// 添加媒体 /// </summary> /// <param name="result"></param> /// <returns></returns> Task<bool> InsertAsync(MediaResult result); Task<bool> UpdateAsync(MediaResult result); Task<bool> UpdateAsync(SqlKata.Query query); Task<PagedList<Entity.tede2.Media.Media>> GetAllAsync(MediaSearchRequest request); Task<int> CountAsync(string beginTime, string endTiem); Task<int> CountAsync(SqlKata.Query query); /// <summary> /// 获取书籍 /// </summary> /// <param name="mediaId"></param> /// <returns></returns> Task<BookMediaResult> GetBookMediaResultAsync(int mediaId); /// <summary> /// 获取书籍 /// </summary> /// <param name="mediaId"></param> /// <returns></returns> Task<VideoMediaResult> GetVideoMediaResultAsync(int mediaId); Task<IEnumerable<NavigationMediaResult>> GetNavigationMediaResults(IEnumerable<int> mediaLables, int page = 1, int pageSize = 10); /// <summary> /// 猜你喜欢 /// </summary> /// <param name="mediaIds"></param> /// <returns></returns> Task<IEnumerable<NavigationMediaResult>> GetlikeMediaResults(); /// <summary> /// 推荐 /// </summary> /// <param name="mediaIds"></param> /// <returns></returns> Task<IEnumerable<NavigationMediaResult>> GetRecommendMediaResults(); /// <summary> /// 排行榜 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<IEnumerable<RankingListResult>> GetRankingListResults(RankingListRequest request); /// <summary> /// 获取笔记摘录媒体 /// </summary> /// <param name="query"></param> /// <returns></returns> Task<MediaNoteResult> GetAsync(SqlKata.Query query); /// <summary> /// 大咖讲座 /// </summary> /// <returns></returns> Task<IEnumerable<MediaCathedraResult>> GetMediasByTeacherAsync(ArticleGroupRequest request); /// <summary> /// 大咖讲座 /// </summary> /// <returns></returns> Task<int> GetMediasByTeacherCountAsync(ArticleGroupRequest request); /// <summary> /// 根据IDs /// </summary> /// <returns></returns> Task<IEnumerable<MediaCathedraResult>> GetMediaByLableIdsAsync(MediaIdsRequest request); /// <summary> /// 根据IDs /// </summary> /// <returns></returns> Task<PagedList<MediaCathedraResult>> GetMediaByLableIdAsync(MediaLableIdRequest request); /// <summary> /// 每日技能分页 /// </summary> /// <returns></returns> Task<PagedList<MediaCathedraResult>> GetDaySkillsAsync(MediaDayWeBookRequest request); /// <summary> /// 每日技能 /// </summary> /// <returns></returns> Task<SkillInfo> GetRandomDaySkillAsync(); /// <summary> /// 猜你喜欢 /// </summary> /// <returns></returns> Task<IEnumerable<MediaCathedraResult>> GetUserLikeAsync(); /// <summary> /// 导航内容 /// </summary> /// <returns></returns> Task<PagedList<MediaCathedraResult>> GetContentNavigationAsync(MediaContentNavigationRequest request); /// <summary> /// 排行榜分页 /// </summary> /// <param name="request"></param> /// <returns></returns> Task<PagedList<RankingListResult>> GetRankingPageListResults(RankingListRequest request); /// <summary> /// 明栏分页 /// </summary> /// <returns></returns> Task<PagedList<MediaCathedraResult>> GetStarLablePageAsync(MediaStarLableRequest request); /// <summary> /// 明栏分页 /// </summary> /// <returns></returns> Task<IEnumerable<MediaCathedraResult>> GetStarLablesAsync(MediaStarLableRequest request); /// <summary> /// app频道 /// </summary> /// <returns></returns> Task<PagedList<MediaChannelCategoryResult>> GetAppChannelsAsync(AppChannelSearchRequest request); /// <summary> /// 获取出版社 /// </summary> /// <returns></returns> Task<IEnumerable<string>> GetPresssAsync(); } }