tuiwucarrer/Admin.NET/Admin.NET.Application/Service/CePing/BusMenuMapScale/BusMenuMapScaleService.cs

120 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.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 = "BusMenuMapScale", Order = 100)]
public class BusMenuMapScaleService : IDynamicApiController, ITransient
{
private readonly SqlSugarRepository<BusMenuMapScale> _busMenuMapScaleRep;
public BusMenuMapScaleService(
SqlSugarRepository<BusMenuMapScale> busMenuMapScaleRep
)
{
_busMenuMapScaleRep = busMenuMapScaleRep;
}
/// <summary>
/// 分页查询菜单关联量表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("page")]
public async Task<SqlSugarPagedList<BusMenuMapScaleOutput>> Page([FromQuery] BusMenuMapScaleInput input)
{
var busMenuMapScales = await _busMenuMapScaleRep.AsQueryable()
.Where(u => u.MenuId == input.MenuId)
.Where(u => u.ScaleId == input.ScaleId)
.OrderBy(u => u.CreateTime, OrderByType.Desc)
.OrderBuilder(input)
.Select(s => new BusMenuMapScaleOutput()
{
MenuId = s.MenuId,
ScaleId = s.ScaleId,
Id = s.Id
})
.ToPagedListAsync(input.Page, input.PageSize);
return busMenuMapScales;
}
/// <summary>
/// 增加菜单关联量表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("add")]
public async Task Add(AddBusMenuMapScaleInput input)
{
var busMenuMapScale = input.Adapt<BusMenuMapScale>();
await _busMenuMapScaleRep.InsertAsync(busMenuMapScale);
}
/// <summary>
/// 删除菜单关联量表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("delete")]
public async Task Delete(DeleteBusMenuMapScaleInput input)
{
var busMenuMapScale = await _busMenuMapScaleRep.AsQueryable().FirstAsync(u => u.Id == input.Id);
await _busMenuMapScaleRep.FakeDeleteAsync(busMenuMapScale);
}
/// <summary>
/// 更新菜单关联量表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("edit")]
public async Task Update(UpdateBusMenuMapScaleInput input)
{
var isExist = await _busMenuMapScaleRep.AsQueryable().AnyAsync(u => u.Id == input.Id);
if (!isExist) throw Oops.Oh(ErrorCodeEnum.D3000);
var busMenuMapScale = input.Adapt<BusMenuMapScale>();
await _busMenuMapScaleRep.UpdateAsync(busMenuMapScale);
}
/// <summary>
/// 获取菜单关联量表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("detail")]
public async Task<BusMenuMapScaleOutput> Get([FromQuery] QueryeBusMenuMapScaleInput input)
{
return (await _busMenuMapScaleRep.AsQueryable().FirstAsync(u => u.Id == input.Id)).Adapt<BusMenuMapScaleOutput>();
}
/// <summary>
/// 获取菜单关联量表列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("list")]
public async Task<List<BusMenuMapScaleOutput>> List([FromQuery] BusMenuMapScaleInput input)
{
return await _busMenuMapScaleRep.AsQueryable().Select<BusMenuMapScaleOutput>().ToListAsync();
}
}
}