添加大飞机增删改查接口

feature-flyModify
一梦千年 2025-09-24 17:26:57 +08:00
parent 5ece3b31f3
commit 055c24186c
2 changed files with 184 additions and 0 deletions

View File

@ -0,0 +1,105 @@
using Infrastructure;
using OpenAuth.App.BaseApp.Base;
using OpenAuth.App.Interface;
using OpenAuth.Repository;
using OpenAuth.Repository.Domain;
using SqlSugar;
namespace OpenAuth.App.ServiceApp;
public class LasaAircraftServiceApp : SqlSugarBaseApp<LasaAircraft, SugarDbContext>
{
public LasaAircraftServiceApp(ISugarUnitOfWork<SugarDbContext> unitWork,
ISimpleClient<LasaAircraft> repository, IAuth auth) : base(unitWork, repository, auth)
{
}
public async Task<Response<bool>> AddLasaAircraft(LasaAircraft info)
{
info.Id = Guid.NewGuid().ToString();
info.CreateTime = DateTime.Now;
if (await Repository.InsertAsync(info))
{
return new Response<bool>
{
Result = true,
Message = "添加成功"
};
}
return new Response<bool>
{
Result = false,
Message = "添加失败"
};
}
public async Task<Response<bool>> DeleteLasaAircraft(string id)
{
if (await Repository.DeleteByIdAsync(id))
{
return new Response<bool>
{
Result = true,
Message = "删除成功"
};
}
return new Response<bool>
{
Result = false,
Message = "删除失败"
};
}
public async Task<Response<bool>> UpdateLasaAircraft(LasaAircraft info)
{
info.UpdateTime = DateTime.Now;
// 使用Updateable方法来避免空值更新问题
using (var db = Repository.AsSugarClient())
{
var result = await Repository.AsSugarClient().Updateable(info).IgnoreNullColumns().ExecuteCommandAsync();
if (result > 0)
{
return new Response<bool>
{
Result = true,
Message = "修改成功"
};
}
}
return new Response<bool>
{
Result = false,
Message = "修改失败"
};
}
public async Task<Response<PageInfo<IEnumerable<LasaAircraft>>>> GetLasaAircraftList(string key, int page,
int limit)
{
RefAsync<int> totalCount = 0;
var pageList = await Repository.AsQueryable()
.WhereIF(!string.IsNullOrEmpty(key), x => x.Name.Contains(key) || x.Sn.Contains(key))
.ToPageListAsync(page, limit, totalCount);
return new Response<PageInfo<IEnumerable<LasaAircraft>>>
{
Result = new PageInfo<IEnumerable<LasaAircraft>>
{
Items = pageList,
Total = totalCount
}
};
}
public async Task<Response<LasaAircraft>> GetLasaAircraft(string id)
{
return new Response<LasaAircraft>
{
Result = await Repository.GetByIdAsync(id)
};
}
}

View File

@ -0,0 +1,79 @@
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.ServiceApp;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers.ServiceControllers;
/// <summary>
/// 大飞机信息
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class LasaAircraftController : ControllerBase
{
private readonly LasaAircraftServiceApp _app;
public LasaAircraftController(LasaAircraftServiceApp app)
{
_app = app;
}
/// <summary>
/// 添加大飞机信息
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> AddLasaAircraft(LasaAircraft info)
{
return await _app.AddLasaAircraft(info);
}
/// <summary>
/// 删除大飞机信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteLasaAircraft(string id)
{
return await _app.DeleteLasaAircraft(id);
}
/// <summary>
/// 修改大飞机信息
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> UpdateLasaAircraft(LasaAircraft info)
{
return await _app.UpdateLasaAircraft(info);
}
/// <summary>
/// 获取大飞机信息列表
/// </summary>
/// <param name="key"></param>
/// <param name="page"></param>
/// <param name="limit"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<IEnumerable<LasaAircraft>>>> GetLasaAircraftList(
[FromQuery] string key, [FromQuery] int page = 1, [FromQuery] int limit = 10)
{
return await _app.GetLasaAircraftList(key, page, limit);
}
/// <summary>
/// 获取大飞机信息详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<LasaAircraft>> GetLasaAircraft(string id)
{
return await _app.GetLasaAircraft(id);
}
}