无人机和机场管理

feature-flyModify
zhangbin 2025-06-12 16:16:59 +08:00
parent 06c1b80467
commit d7b6df3d71
4 changed files with 124 additions and 3 deletions

View File

@ -17,7 +17,7 @@ namespace OpenAuth.App.ServiceApp
public ManageApp(ISugarUnitOfWork<SugarDbContext> unitWork, ISimpleClient<LasaDronePort> repository, IAuth auth) : base(unitWork, repository, auth)
{
}
#region 机场管理
/// <summary>
/// 分页获取所有数据
/// </summary>
@ -32,6 +32,7 @@ namespace OpenAuth.App.ServiceApp
using (var db = UnitWork.CreateContext())
{
var list = await db.LasaDronePort.AsQueryable().Includes(a => a.UavList)
.Where(a => a.IsDelete == false)
.WhereIF(!string.IsNullOrEmpty(key), a => a.Name.Contains(key))
.ToPageListAsync(page, limit, totalCount);
return new Response<PageInfo<List<LasaDronePort>>>
@ -40,6 +41,43 @@ namespace OpenAuth.App.ServiceApp
};
}
}
/// <summary>
/// 编辑机场信息
/// </summary>
/// <param name="task"></param>
/// <returns></returns>
public async Task<Response<bool>> EditDronePort(LasaDronePort info)
{
using (var db = UnitWork.CreateContext())
{
var flag = await db.LasaDronePort.UpdateAsync(it => new LasaDronePort()
{
Name = info.Name,
WorkSpaceId = info.WorkSpaceId,
}, it => it.Id == info.Id);
if (db.Commit())
return new Response<bool> { Result = true, Message = "编辑成功" };
else
return new Response<bool> { Result = false, Message = "编辑失败" };
}
}
//删除机场信息
public async Task<Response<bool>> DeleteDronePort(string id)
{
using (var db = UnitWork.CreateContext())
{
await db.LasaDronePort.UpdateAsync(u => new LasaDronePort
{
IsDelete = true
}, u => u.Id == id);
if (db.Commit())
return new Response<bool> { Result = true, Message = "删除成功" };
else
return new Response<bool> { Result = false, Message = "删除失败" };
}
}
#endregion
/// <summary>
/// 获取无人机列表
/// </summary>
@ -61,6 +99,40 @@ namespace OpenAuth.App.ServiceApp
};
}
}
/// <summary>
/// 编辑无人机
/// </summary>
/// <param name="task"></param>
/// <returns></returns>
public async Task<Response<bool>> EditUav(LasaUav info)
{
using (var db = UnitWork.CreateContext())
{
var flag = await db.LasaUav.UpdateAsync(it => new LasaUav()
{
Name = info.Name,
}, it => it.Id == info.Id);
if (db.Commit())
return new Response<bool> { Result = true, Message = "编辑成功" };
else
return new Response<bool> { Result = false, Message = "编辑失败" };
}
}
//删除无人机
public async Task<Response<bool>> DeleteUav(string id)
{
using (var db = UnitWork.CreateContext())
{
await db.LasaUav.UpdateAsync(u => new LasaUav
{
IsDelete = true
}, u => u.Id == id);
if (db.Commit())
return new Response<bool> { Result = true, Message = "删除成功" };
else
return new Response<bool> { Result = false, Message = "删除失败" };
}
}
/// <summary>
/// 获取任务列表

View File

@ -17,6 +17,14 @@ namespace OpenAuth.Repository.Domain
public string Sn { get; set; }
public string DevicePicUrl { get; set; }
public string Did { get; set; }
/// <summary>
/// Desc:是否删除
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsDelete { get; set; }
public string WorkSpaceId { get; set; }
[Navigate(NavigateType.OneToMany, nameof(LasaUav.PId))]
public List<LasaUav> UavList { get; set; }
}

View File

@ -22,5 +22,12 @@ namespace OpenAuth.Repository.Domain
public string DevicePicUrl { get; set; }
public string Did { get; set; }
public string PId { get; set; }
/// <summary>
/// Desc:是否删除
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsDelete { get; set; }
}
}

View File

@ -53,7 +53,24 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
return result;
}
/// <summary>
/// 编辑机场
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> EditDronePort(LasaDronePort info)
{
return await _app.EditDronePort(info);
}
/// <summary>
/// 删除机场
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteDronePort(string id)
{
return await _app.DeleteDronePort(id);
}
#endregion
#region 无人机管理
@ -82,7 +99,24 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
return result;
}
/// <summary>
/// 编辑无人机
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> EditUav(LasaUav info)
{
return await _app.EditUav(info);
}
/// <summary>
/// 删除无人机
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteUav(string id)
{
return await _app.DeleteUav(id);
}
#endregion
#region 任务管理