using Nirvana.Common; using Nirvana.Common.ApiBase; using Nirvana.Data; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using YBDevice.Entity; namespace YBDevice.Api.DBServices { /// /// 科普资讯、轮播图、开屏广告管理 /// public partial class InfoApp : BaseApp { /// /// 科普资讯列表 /// /// /// public async Task> GetInfoListAsync(ParamQuery param) { RefAsync totalnum = 0; using (var dbClient = ReadDbContext.GetInstance()) { var temquery = dbClient.Queryable().Where(x=>x.Status == 1); if (!string.IsNullOrEmpty(param.keyword)) { int tagid = param.keyword.ToInt(); if (tagid > 0) { temquery = temquery.Where(x => x.TagId == tagid); } } string sorts = string.Format("{0} {1}", param.sort, param.order); var query = await temquery.OrderBy(sorts) .Mapper((it, cache) => { it.HeadImg = $"{CDNURL}{it.HeadImg}"; }) .ToPageListAsync(param.page, param.pagesize, totalnum); return new ParamReturnData { page = param.page, items = query, totalnum = totalnum, pagesize = param.pagesize }; } } /// /// 科普资讯详情 /// /// /// public async Task InfoDetailAsync(int id) { using (var dbClient = ReadDbContext.GetInstance()) { var data = await dbClient.Queryable().FirstAsync(x => x.Id == id); if (data == null) { return new ResultInfo(ResultState.FAIL, "记录未找到"); } //返回内容 var contentdata = await dbClient.Queryable().FirstAsync(x => x.InfoId == data.Id); return new ResultInfo(ResultState.SUCCESS, "success", contentdata); } } /// /// 类型列表 /// /// public async Task GetInfoTagListAsync() { using (var dbClient = ReadDbContext.GetInstance()) { var list= await dbClient.Queryable().Where(x=>x.Status == 1).OrderBy(x => x.SortCode, OrderByType.Asc).ToListAsync(); return new ResultInfo(ResultState.SUCCESS, "success", list); } } } }