using Admin.NET.Core; using Furion.DatabaseAccessor; using Furion.DependencyInjection; using Furion.DynamicApiController; using Furion.FriendlyException; using Mapster; using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; using System.Linq; using System.Linq.Dynamic.Core; using System.Threading.Tasks; namespace Admin.NET.Application { /// /// 高校基础信息服务 /// [ApiDescriptionSettings("测评服务", Name = "BusUniversityInfo", Order = 100)] public class BusUniversityInfoService : IDynamicApiController, ITransient { private readonly SqlSugarRepository _busUniversityInfoRep; public BusUniversityInfoService( SqlSugarRepository busUniversityInfoRep ) { _busUniversityInfoRep = busUniversityInfoRep; } /// /// 分页查询高校基础信息 /// /// /// [HttpGet("page")] public async Task> Page([FromQuery] BusUniversityInfoInput input) { var busUniversityInfos = await _busUniversityInfoRep.AsQueryable() .WhereIF(!string.IsNullOrEmpty(input.Name), u => u.Name == input.Name) .WhereIF(!string.IsNullOrEmpty(input.Logo), u => u.Logo == input.Logo) .Where(u => u.ProvinceId == input.ProvinceId) .Where(u => u.ZgManageId == input.ZgManageId) .Where(u => u.Levels == input.Levels) .WhereIF(!string.IsNullOrEmpty(input.Specific), u => u.Specific == input.Specific) .Where(u => u.UniversityType == input.UniversityType) .Where(u => u.Rank == input.Rank) //.Where(u => u.Sort == input.Sort) .OrderBy(u => u.CreateTime, OrderByType.Desc) .OrderBuilder(input) .Select(s => new BusUniversityInfoOutput { Name = s.Name, Logo = s.Logo, ProvinceId = s.ProvinceId, ZgManageId = s.ZgManageId, Levels = s.Levels, Specific = s.Specific, UniversityType = s.UniversityType, Rank = s.Rank, Sort = s.Sort, Id = s.Id }) .ToPagedListAsync(input.Page, input.PageSize); return busUniversityInfos; } /// /// 增加高校基础信息 /// /// /// [HttpPost("add")] public async Task Add(AddBusUniversityInfoInput input) { var busUniversityInfo = input.Adapt(); await _busUniversityInfoRep.InsertAsync(busUniversityInfo); } /// /// 删除高校基础信息 /// /// /// [HttpPost("delete")] public async Task Delete(DeleteBusUniversityInfoInput input) { var busUniversityInfo = await _busUniversityInfoRep.AsQueryable().FirstAsync(u => u.Id == input.Id); await _busUniversityInfoRep.FakeDeleteAsync(busUniversityInfo); } /// /// 更新高校基础信息 /// /// /// [HttpPost("edit")] public async Task Update(UpdateBusUniversityInfoInput input) { var isExist = await _busUniversityInfoRep.AsQueryable().AnyAsync(u => u.Id == input.Id); if (!isExist) throw Oops.Oh(ErrorCodeEnum.D3000); var busUniversityInfo = input.Adapt(); await _busUniversityInfoRep.UpdateAsync(busUniversityInfo); } /// /// 获取高校基础信息 /// /// /// [HttpGet("detail")] public async Task Get([FromQuery] QueryeBusUniversityInfoInput input) { return (await _busUniversityInfoRep.AsQueryable().FirstAsync(u => u.Id == input.Id)).Adapt(); } /// /// 获取高校基础信息列表 /// /// /// [HttpGet("list")] public async Task> List([FromQuery] BusUniversityInfoInput input) { return await _busUniversityInfoRep.AsQueryable().Select().ToListAsync(); } } }