项目添加信息查询等

main
洁 任 3 months ago
parent ddb10c0b04
commit 399e7bdd90

@ -512,17 +512,17 @@ namespace OpenAuth.App
{
using (var uow = base.UnitWork.CreateContext())
{
foreach (var item in uow.Db.DbMaintenance.GetTableInfoList().Where(r => r.Name.ToLower().StartsWith("lasa_workspace")))
foreach (var item in uow.Db.DbMaintenance.GetTableInfoList().Where(r => r.Name.ToLower().StartsWith("lasa_spacelockfly")))
{
//string entityName = item.Name.Substring(0, 1).ToUpper() + item.Name.Substring(1, 7).ToLower() + item.Name.Substring(9, 1).ToUpper() + item.Name.Substring(10).ToLower();/*实体名大写*/
string entityName = "LasaWorkspace1";
string entityName = "LasaSpaceLockFly";
uow.Db.MappingTables.Add(entityName, item.Name);
//foreach (var col in db.DbMaintenance.GetColumnInfosByTableName(item.Name))
//{
// db.MappingColumns.Add(col.DbColumnName.ToUpper() /*类的属性大写*/, col.DbColumnName, entityName);
//}
}
uow.Db.DbFirst.Where(r => r.ToLower().StartsWith("lasa_workspace")).IsCreateAttribute().CreateClassFile("E:\\低空态势感知\\code\\OpenAuth.Repository\\Domain", "OpenAuth.Repository.Domain");
uow.Db.DbFirst.Where(r => r.ToLower().StartsWith("lasa_spacelockfly")).IsCreateAttribute().CreateClassFile("E:\\低空态势感知\\code\\OpenAuth.Repository\\Domain", "OpenAuth.Repository.Domain");
uow.Commit();
}
return "更新实体成功";

@ -1,7 +1,9 @@
using Infrastructure;
using DocumentFormat.OpenXml.Wordprocessing;
using Infrastructure;
using OpenAuth.App.BaseApp.Base;
using OpenAuth.App.Interface;
using OpenAuth.App.ServiceApp.Request;
using OpenAuth.App.ServiceApp.Response;
using OpenAuth.Repository;
using OpenAuth.Repository.Domain;
using SqlSugar;
@ -187,15 +189,27 @@ namespace OpenAuth.App.ServiceApp
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public async Task<Response<List<LasaWorkspace>>> GetWorkspaceList(string key)
public async Task<Response<List<dynamic>>> GetWorkspaceList(string key)
{
RefAsync<int> totalCount = 0;
using (var db = UnitWork.CreateContext())
{
var list = await db.LasaWorkspace.AsQueryable()
.WhereIF(!string.IsNullOrEmpty(key), a => a.WorkspaceName.Contains(key))
.LeftJoin<SysUser>((a,u)=>a.CreateId==u.Id)
.Select<dynamic>((a, u) => new
{
a.Id,
a.WorkspaceName,
a.WorkspaceDesc,
a.Sate,
a.CreateTime,
a.CreateId,
u.Account,
u.Name
})
.ToListAsync();
return new Response<List<LasaWorkspace>>
return new Response<List<dynamic>>
{
Result = list
};
@ -228,6 +242,13 @@ namespace OpenAuth.App.ServiceApp
sd.UserId = item;
users.Add(sd);
}
foreach (var item in info.Lockfly)
{
item.Id = Guid.NewGuid().ToString();
item.WorkSpaceId= lasaWorkspace.Id;
await db.LasaSpaceLockFly.InsertAsync(item);
}
await db.LasaWorkspace.InsertAsync(lasaWorkspace);
await db.LasaSpaceDevice.InsertRangeAsync(devices);
await db.LasaSpaceUser.InsertRangeAsync(users);
@ -261,6 +282,20 @@ namespace OpenAuth.App.ServiceApp
sd.UserId = item;
users.Add(sd);
}
foreach (var item in info.Lockfly)
{
if (!string.IsNullOrEmpty(item.Id))
{
await db.LasaSpaceLockFly.UpdateAsync(item);
}
else
{
item.Id = Guid.NewGuid().ToString();
item.WorkSpaceId = lasaWorkspace.Id;
await db.LasaSpaceLockFly.InsertAsync(item);
}
}
await db.LasaSpaceDevice.DeleteAsync(r=>r.WorkSpaceId == lasaWorkspace.Id);
await db.LasaSpaceDevice.InsertRangeAsync(devices);
await db.LasaSpaceUser.DeleteAsync(r=>r.WorkSpaceId==lasaWorkspace.Id);
@ -271,6 +306,56 @@ namespace OpenAuth.App.ServiceApp
return new Response<bool> { Result = false, Message = "编辑失败" };
}
}
//获取无人机信息
public async Task<Response<List<LasaUav>>> GetUavList()
{
using (var db = UnitWork.CreateContext())
{
var list=db.LasaSpaceDevice.AsQueryable()?.Select(r=>r.DeviceId).ToList();
var uavlist = await db.LasaUav.AsQueryable()
.Where(r=>!list.Contains(r.Id))
.ToListAsync();
return new Response<List<LasaUav>>
{
Result=uavlist
};
}
}
/// <summary>
/// 根据项目id获取项目信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public async Task<Response<WorkSpaceRes>> GetWorkSpaceById(string id)
{
using (var db = UnitWork.CreateContext())
{
WorkSpaceRes res=new WorkSpaceRes();
var workspace= await db.LasaWorkspace.AsQueryable().Where(r=>r.Id==id).FirstAsync();
var sysuser = db.User.AsQueryable()
.LeftJoin<LasaSpaceUser>((r, a) => r.Id == a.UserId)
.Where((r, a) => a.WorkSpaceId == id)
.Select((r, a) => r).ToList();
var uav=db.LasaUav.AsQueryable()
.LeftJoin<LasaSpaceDevice>((r,a)=>r.Id==a.DeviceId)
.Where((r,a)=>a.WorkSpaceId==id)
.Select((r,a)=>r).ToList();
var lockfly=db.LasaSpaceLockFly.AsQueryable().Where(r=>r.WorkSpaceId==id).ToList();
res.users = sysuser;
res.lasaUavs = uav;
res.lasaSpaceLockFlies = lockfly;
res.workspace = workspace;
return new Response<WorkSpaceRes>
{
Result = res
};
}
}
//删除项目
public async Task<Response<bool>> DeleteWorkspace(string id)
{

@ -12,5 +12,6 @@ namespace OpenAuth.App.ServiceApp.Request
public LasaWorkspace LasaWorkspace { get; set; }
public List<long> UserIds { get; set; }
public List<string> DeviceIds { get; set; }
public List<LasaSpaceLockFly> Lockfly { get; set; }
}
}

@ -0,0 +1,17 @@
using OpenAuth.Repository.Domain;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenAuth.App.ServiceApp.Response
{
public class WorkSpaceRes
{
public LasaWorkspace workspace { get; set; }
public List<SysUser> users { get; set; }
public List<LasaUav> lasaUavs { get; set; }
public List<LasaSpaceLockFly> lasaSpaceLockFlies { get; set; }
}
}

@ -0,0 +1,63 @@
using System;
using System.Linq;
using System.Text;
using SqlSugar;
namespace OpenAuth.Repository.Domain
{
///<summary>
///项目阻飞参数表
///</summary>
[SugarTable("lasa_spacelockfly")]
public partial class LasaSpaceLockFly
{
public LasaSpaceLockFly(){
WindSpeed = 0;
WeatherWindSpeed=0;
}
/// <summary>
/// Desc:主键
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true)]
public string Id {get;set;}
/// <summary>
/// Desc:名称
/// Default:
/// Nullable:True
/// </summary>
public string Name {get;set;}
/// <summary>
/// Desc:风速
/// Default:
/// Nullable:True
/// </summary>
public int WindSpeed {get;set;}
/// <summary>
/// Desc:天气预报风速
/// Default:
/// Nullable:True
/// </summary>
public int WeatherWindSpeed {get;set;}
/// <summary>
/// Desc:雨量
/// Default:
/// Nullable:True
/// </summary>
public string RainFall {get;set;}
/// <summary>
/// Desc:雨量
/// Default:
/// Nullable:True
/// </summary>
public string WorkSpaceId { get; set; }
}
}

@ -11,171 +11,194 @@ namespace OpenAuth.Repository.Domain
[SugarTable("lasa_workspace")]
public partial class LasaWorkspace
{
public LasaWorkspace(){
}
/// <summary>
/// Desc:标识
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true)]
public string Id {get;set;}
/// <summary>
/// Desc:项目名称
/// Default:
/// Nullable:False
/// </summary>
public string WorkspaceName {get;set;}
/// <summary>
/// Desc:项目描述
/// Default:
/// Nullable:False
/// </summary>
public string WorkspaceDesc {get;set;}
/// <summary>
/// Desc:平台名称
/// Default:
/// Nullable:True
/// </summary>
public string PlatformName {get;set;}
/// <summary>
/// Desc:创建时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? CreateTime {get;set;}
/// <summary>
/// Desc:创建人
/// Default:
/// Nullable:True
/// </summary>
public long? CreateId {get;set;}
/// <summary>
/// Desc:绑定码
/// Default:
/// Nullable:True
/// </summary>
public string BindCode {get;set;}
/// <summary>
/// Desc:作业中心点经度
/// Default:0
/// Nullable:True
/// </summary>
public decimal? CenterLng {get;set;}
/// <summary>
/// Desc:作业中心点维度
/// Default:
/// Nullable:True
/// </summary>
public decimal? CenterLat {get;set;}
/// <summary>
/// Desc:是否允许申请码加入项目
/// Default:false
/// Nullable:True
/// </summary>
public bool IsAllowRequestCode {get;set;}
/// <summary>
/// Desc:申请码
/// Default:
/// Nullable:True
/// </summary>
public string RequestCode {get;set;}
/// <summary>
/// Desc:申请码截止时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? RequestCodeCutOffTime {get;set;}
/// <summary>
/// Desc:云端阻飞
/// Default:false
/// Nullable:True
/// </summary>
public bool IsCloudBlockFlight {get;set;}
/// <summary>
/// Desc:天气预报阻飞
/// Default:false
/// Nullable:True
/// </summary>
public bool IsWeatherBlockFlight {get;set;}
/// <summary>
/// Desc:多机安全起降
/// Default:false
/// Nullable:True
/// </summary>
public bool IsMultipleAircraft {get;set;}
/// <summary>
/// Desc:机场自动录制
/// Default:false
/// Nullable:True
/// </summary>
public bool IsAirportRecord {get;set;}
/// <summary>
/// Desc:飞行器自动录制
/// Default:false
/// Nullable:True
/// </summary>
public bool IsAircraftRecord {get;set;}
/// <summary>
/// Desc:直播分享
/// Default:false
/// Nullable:True
/// </summary>
public bool IsLiveShare {get;set;}
/// <summary>
/// Desc:媒体分享
/// Default:false
/// Nullable:True
/// </summary>
public bool IsMediaShare {get;set;}
/// <summary>
/// Desc:设备直传
/// Default:false
/// Nullable:True
/// </summary>
public bool IsDeviceTrans {get;set;}
/// <summary>
/// Desc:设备直传--计划设置
/// Default:false
/// Nullable:True
/// </summary>
public bool IsDeicePlaneTrans {get;set;}
/// <summary>
/// Desc:项目状态0进行中1已归档
/// Default:
/// Nullable:True
/// </summary>
public short Sate {get;set;}
/// <summary>
/// Desc:是否删除
/// Default:false
/// Nullable:True
/// </summary>
public bool IsDelete {get;set;}
public LasaWorkspace()
{
// 初始化所有bool字段为false
IsAllowRequestCode = false;
IsCloudBlockFlight = false;
IsWeatherBlockFlight = false;
IsMultipleAircraft = false;
IsAirportRecord = false;
IsAircraftRecord = false;
IsLiveShare = false;
IsMediaShare = false;
IsDeviceTrans = false;
IsDeicePlaneTrans = false;
IsDelete = false;
}
/// <summary>
/// Desc:标识
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey = true)]
public string Id { get; set; }
/// <summary>
/// Desc:项目名称
/// Default:
/// Nullable:False
/// </summary>
public string WorkspaceName { get; set; }
/// <summary>
/// Desc:项目描述
/// Default:
/// Nullable:False
/// </summary>
public string WorkspaceDesc { get; set; }
/// <summary>
/// Desc:平台名称
/// Default:
/// Nullable:True
/// </summary>
public string PlatformName { get; set; }
/// <summary>
/// Desc:创建时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? CreateTime { get; set; }
/// <summary>
/// Desc:创建人
/// Default:
/// Nullable:True
/// </summary>
public long? CreateId { get; set; }
/// <summary>
/// Desc:绑定码
/// Default:
/// Nullable:True
/// </summary>
public string BindCode { get; set; }
/// <summary>
/// Desc:作业中心点经度
/// Default:0
/// Nullable:True
/// </summary>
public decimal? CenterLng { get; set; }
/// <summary>
/// Desc:作业中心点维度
/// Default:
/// Nullable:True
/// </summary>
public decimal? CenterLat { get; set; }
/// <summary>
/// Desc:是否允许申请码加入项目
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsAllowRequestCode { get; set; }
/// <summary>
/// Desc:申请码
/// Default:
/// Nullable:True
/// </summary>
public string RequestCode { get; set; }
/// <summary>
/// Desc:申请码截止时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? RequestCodeCutOffTime { get; set; }
/// <summary>
/// Desc:云端阻飞
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsCloudBlockFlight { get; set; }
/// <summary>
/// Desc:天气预报阻飞
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsWeatherBlockFlight { get; set; }
/// <summary>
/// Desc:多机安全起降
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsMultipleAircraft { get; set; }
/// <summary>
/// Desc:机场自动录制
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsAirportRecord { get; set; }
/// <summary>
/// Desc:飞行器自动录制
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsAircraftRecord { get; set; }
/// <summary>
/// Desc:直播分享
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsLiveShare { get; set; }
/// <summary>
/// Desc:媒体分享
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsMediaShare { get; set; }
/// <summary>
/// Desc:设备直传
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsDeviceTrans { get; set; }
/// <summary>
/// Desc:设备直传--计划设置
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsDeicePlaneTrans { get; set; }
/// <summary>
/// Desc:项目状态0进行中1已归档
/// Default:
/// Nullable:True
/// </summary>
public short Sate { get; set; }
/// <summary>
/// Desc:是否删除
/// Default:false
/// Nullable:True
/// </summary>
[SugarColumn(DefaultValue = "false")]
public bool IsDelete { get; set; }
}
}

@ -67,6 +67,7 @@ namespace OpenAuth.Repository
public SugarRepositiry<LasaWorkspace> LasaWorkspace { get; set; }
public SugarRepositiry<LasaSpaceUser> LasaSpaceUser { get; set; }
public SugarRepositiry<LasaSpaceDevice> LasaSpaceDevice { get; set; }
public SugarRepositiry<LasaSpaceLockFly> LasaSpaceLockFly { get; set; }
#endregion
}
}

@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.ServiceApp;
using OpenAuth.App.ServiceApp.Request;
using OpenAuth.App.ServiceApp.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers.ServiceControllers
@ -252,9 +253,9 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
/// <param name="key"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<LasaWorkspace>>> GetWorkspaceList(string key)
public async Task<Response<List<dynamic>>> GetWorkspaceList(string key)
{
var result = new Response<List<LasaWorkspace>>();
var result = new Response<List<dynamic>>();
try
{
result = await _app.GetWorkspaceList(key);
@ -298,6 +299,50 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
return await _app.DeleteWorkspace(id);
}
/// <summary>
/// 获取无人机列表,添加项目使用
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<LasaUav>>> GetUavList()
{
var result = new Response<List<LasaUav>>();
try
{
result = await _app.GetUavList();
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.Message;
}
return result;
}
/// <summary>
/// 根据项目id获取项目信息编辑项目使用
/// </summary>
/// <param name="id">项目id</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<WorkSpaceRes>> GetWorkSpaceById(string id)
{
var result = new Response<WorkSpaceRes>();
try
{
result = await _app.GetWorkSpaceById(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.Message;
}
return result;
}
#endregion
// 航线任务在云端的 共享查看、下发执行、取消以及进度上报等功能。

Loading…
Cancel
Save