tuiwucarrer/Admin.NET/Admin.NET.Application/Service/CePing/BusProvince/BusProvinceService.cs

122 lines
4.2 KiB
C#

using Admin.NET.Core;
using Furion.DatabaseAccessor;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Furion.FriendlyException;
using Mapster;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Threading.Tasks;
namespace Admin.NET.Application
{
/// <summary>
/// 省份管理服务
/// </summary>
[ApiDescriptionSettings("测评服务", Name = "BusProvince", Order = 100)]
public class BusProvinceService : IDynamicApiController, ITransient
{
private readonly SqlSugarRepository<BusProvince> _busProvinceRep;
public BusProvinceService(
SqlSugarRepository<BusProvince> busProvinceRep
)
{
_busProvinceRep = busProvinceRep;
}
/// <summary>
/// 分页查询省份管理
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("page")]
public async Task<SqlSugarPagedList<BusProvinceOutput>> Page([FromQuery] BusProvinceInput input)
{
var busProvinces = await _busProvinceRep.AsQueryable()
.WhereIF(!string.IsNullOrEmpty(input.Code), u => u.Code == input.Code)
.WhereIF(!string.IsNullOrEmpty(input.Name), u => u.Name == input.Name)
//.Where(u => u.Sort == input.Sort)
.OrderBy(u => u.CreateTime, OrderByType.Desc)
.OrderBuilder(input)
.Select(s => new BusProvinceOutput()
{
Code = s.Code,
Name = s.Name,
Sort = s.Sort,
Id = s.Id
})
.ToPagedListAsync(input.Page, input.PageSize);
return busProvinces;
}
/// <summary>
/// 增加省份管理
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("add")]
public async Task Add(AddBusProvinceInput input)
{
var busProvince = input.Adapt<BusProvince>();
await _busProvinceRep.InsertAsync(busProvince);
}
/// <summary>
/// 删除省份管理
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("delete")]
public async Task Delete(DeleteBusProvinceInput input)
{
var busProvince = await _busProvinceRep.AsQueryable().FirstAsync(u => u.Id == input.Id);
await _busProvinceRep.FakeDeleteAsync(busProvince);
}
/// <summary>
/// 更新省份管理
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("edit")]
public async Task Update(UpdateBusProvinceInput input)
{
var isExist = await _busProvinceRep.AsQueryable().AnyAsync(u => u.Id == input.Id);
if (!isExist) throw Oops.Oh(ErrorCodeEnum.D3000);
var busProvince = input.Adapt<BusProvince>();
await _busProvinceRep.UpdateAsync(busProvince);
}
/// <summary>
/// 获取省份管理
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("detail")]
public async Task<BusProvinceOutput> Get([FromQuery] QueryeBusProvinceInput input)
{
return (await _busProvinceRep.AsQueryable().FirstAsync(u => u.Id == input.Id)).Adapt<BusProvinceOutput>();
}
/// <summary>
/// 获取省份管理列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("list")]
public async Task<List<BusProvinceOutput>> List([FromQuery] BusProvinceInput input)
{
return await _busProvinceRep.AsQueryable().Select<BusProvinceOutput>().ToListAsync();
}
}
}