|
|
|
@ -0,0 +1,192 @@
|
|
|
|
|
using DocumentFormat.OpenXml.Drawing;
|
|
|
|
|
using Infrastructure;
|
|
|
|
|
using NetTopologySuite.Geometries;
|
|
|
|
|
using NetTopologySuite;
|
|
|
|
|
using OpenAuth.App.BaseApp.Base;
|
|
|
|
|
using OpenAuth.App.Interface;
|
|
|
|
|
using OpenAuth.Repository;
|
|
|
|
|
using OpenAuth.Repository.Domain;
|
|
|
|
|
using SqlSugar;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Yitter.IdGenerator;
|
|
|
|
|
|
|
|
|
|
namespace OpenAuth.App.ServiceApp
|
|
|
|
|
{
|
|
|
|
|
public class ManageApp : SqlSugarBaseApp<LasaDronePort, SugarDbContext>
|
|
|
|
|
{
|
|
|
|
|
public ManageApp(ISugarUnitOfWork<SugarDbContext> unitWork, ISimpleClient<LasaDronePort> repository, IAuth auth) : base(unitWork, repository, auth)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 分页获取所有数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="pageIndex"></param>
|
|
|
|
|
/// <param name="pageSize"></param>
|
|
|
|
|
/// <param name="key"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public async Task<Response<PageInfo<List<LasaDronePort>>>> GetPageList(int pageIndex, int pageSize, string key)
|
|
|
|
|
{
|
|
|
|
|
int totalCount = 0;
|
|
|
|
|
PageModel pageModel = new PageModel()
|
|
|
|
|
{
|
|
|
|
|
PageIndex = pageIndex,
|
|
|
|
|
PageSize = pageSize,
|
|
|
|
|
TotalCount = totalCount
|
|
|
|
|
};
|
|
|
|
|
var list = await Repository.GetPageListAsync(it => it.Name.Contains(key), pageModel, it => it.UpdateTime, OrderByType.Desc);
|
|
|
|
|
return new Response<PageInfo<List<LasaDronePort>>>
|
|
|
|
|
{
|
|
|
|
|
Result = new PageInfo<List<LasaDronePort>> { Items = list, Total = totalCount }
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取无人机列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="page"></param>
|
|
|
|
|
/// <param name="limit"></param>
|
|
|
|
|
/// <param name="key"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public async Task<Response<PageInfo<List<LasaUav>>>> GetUavPageList(int page, int limit, string key)
|
|
|
|
|
{
|
|
|
|
|
RefAsync<int> totalCount = 0;
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
{
|
|
|
|
|
var list = await db.LasaUav.AsQueryable()
|
|
|
|
|
.WhereIF(!string.IsNullOrEmpty(key), a => a.Name.Contains(key))
|
|
|
|
|
.ToPageListAsync(page, limit, totalCount);
|
|
|
|
|
return new Response<PageInfo<List<LasaUav>>>
|
|
|
|
|
{
|
|
|
|
|
Result = new PageInfo<List<LasaUav>> { Items = list, Total = totalCount }
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取任务列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="page"></param>
|
|
|
|
|
/// <param name="limit"></param>
|
|
|
|
|
/// <param name="key"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public async Task<Response<PageInfo<List<LasaTask>>>> GetTaskPageList(int page, int limit, string key)
|
|
|
|
|
{
|
|
|
|
|
RefAsync<int> totalCount = 0;
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
{
|
|
|
|
|
var list = await db.LasaTask.AsQueryable()
|
|
|
|
|
.WhereIF(!string.IsNullOrEmpty(key), a => a.TaskName.Contains(key))
|
|
|
|
|
.ToPageListAsync(page, limit, totalCount);
|
|
|
|
|
return new Response<PageInfo<List<LasaTask>>>
|
|
|
|
|
{
|
|
|
|
|
Result = new PageInfo<List<LasaTask>> { Items = list, Total = totalCount }
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//添加任务
|
|
|
|
|
public async Task<Response<bool>> AddTask(LasaTask task)
|
|
|
|
|
{
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
{
|
|
|
|
|
task.Id = Guid.NewGuid().ToString();
|
|
|
|
|
task.CreateId = _auth.GetCurrentUser().User.Id;
|
|
|
|
|
task.CreateTime = DateTime.Now;
|
|
|
|
|
var flag = await db.LasaTask.InsertAsync(task);
|
|
|
|
|
if(db.Commit())
|
|
|
|
|
return new Response<bool> { Result = true, Message = "添加成功" };
|
|
|
|
|
else
|
|
|
|
|
return new Response<bool> { Result = false, Message = "添加失败" };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//编辑任务
|
|
|
|
|
public async Task<Response<bool>> EditTask(LasaTask task)
|
|
|
|
|
{
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
{
|
|
|
|
|
var flag = await db.LasaTask.UpdateAsync(task);
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
return new Response<bool> { Result = true, Message = "编辑成功" };
|
|
|
|
|
else
|
|
|
|
|
return new Response<bool> { Result = false, Message = "编辑失败" };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//删除任务
|
|
|
|
|
public async Task<Response<bool>> DeleteTask(string id)
|
|
|
|
|
{
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
{
|
|
|
|
|
var flag = await db.LasaTask.DeleteAsync(it => it.Id == id);
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
return new Response<bool> { Result = true, Message = "删除成功" };
|
|
|
|
|
else
|
|
|
|
|
return new Response<bool> { Result = false, Message = "删除失败" };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#region 航线管理
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取航线列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="page"></param>
|
|
|
|
|
/// <param name="limit"></param>
|
|
|
|
|
/// <param name="key"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public async Task<Response<PageInfo<List<LasaAirLine>>>> GetAirLinePageList(int page, int limit, string key)
|
|
|
|
|
{
|
|
|
|
|
RefAsync<int> totalCount = 0;
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
{
|
|
|
|
|
var list = await db.LasaAirLine.AsQueryable()
|
|
|
|
|
.WhereIF(!string.IsNullOrEmpty(key), a => a.AirLineName.Contains(key))
|
|
|
|
|
.ToPageListAsync(page, limit, totalCount);
|
|
|
|
|
return new Response<PageInfo<List<LasaAirLine>>>
|
|
|
|
|
{
|
|
|
|
|
Result = new PageInfo<List<LasaAirLine>> { Items = list, Total = totalCount }
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//添加航线
|
|
|
|
|
public async Task<Response<bool>> AddAirLine(LasaAirLine lasaAirLine)
|
|
|
|
|
{
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
{
|
|
|
|
|
lasaAirLine.Id = Guid.NewGuid().ToString();
|
|
|
|
|
lasaAirLine.CreateId = _auth.GetCurrentUser().User.Id;
|
|
|
|
|
lasaAirLine.CreateTime = DateTime.Now;
|
|
|
|
|
var flag = await db.LasaAirLine.InsertAsync(lasaAirLine);
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
return new Response<bool> { Result = true, Message = "添加成功" };
|
|
|
|
|
else
|
|
|
|
|
return new Response<bool> { Result = false, Message = "添加失败" };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//编辑航线
|
|
|
|
|
public async Task<Response<bool>> EditAirLine(LasaAirLine lasaAirLine)
|
|
|
|
|
{
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
{
|
|
|
|
|
var flag = await db.LasaAirLine.UpdateAsync(lasaAirLine);
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
return new Response<bool> { Result = true, Message = "编辑成功" };
|
|
|
|
|
else
|
|
|
|
|
return new Response<bool> { Result = false, Message = "编辑失败" };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//删除航线
|
|
|
|
|
public async Task<Response<bool>> DeleteAirLine(string id)
|
|
|
|
|
{
|
|
|
|
|
using (var db = UnitWork.CreateContext())
|
|
|
|
|
{
|
|
|
|
|
var flag = await db.LasaAirLine.DeleteAsync(it => it.Id == id);
|
|
|
|
|
if (db.Commit())
|
|
|
|
|
return new Response<bool> { Result = true, Message = "删除成功" };
|
|
|
|
|
else
|
|
|
|
|
return new Response<bool> { Result = false, Message = "删除失败" };
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|