From 47bcba4b570ee9a73d1f3d62105993a207a4900d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=BC=9F?= <421281095@qq.com> Date: Wed, 3 Sep 2025 11:41:15 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=8E=BB=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=88=E7=9C=81=E6=97=A0=E4=BA=BA=E6=9C=BA?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=8A=E6=8A=A5=E6=8E=A5=E5=8F=A3=EF=BC=89?= =?UTF-8?q?=202.=20ai=E6=88=90=E6=9E=9C=E4=B8=8A=E6=8A=A5=E5=80=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ServiceApp/AI/AiAchievementServiceApp.cs | 1 + .../ServiceApp/DroneDocking/DroneDockApp.cs | 124 ++++++------------ .../ServiceControllers/DroneDockController.cs | 21 +-- 3 files changed, 43 insertions(+), 103 deletions(-) diff --git a/OpenAuth.App/ServiceApp/AI/AiAchievementServiceApp.cs b/OpenAuth.App/ServiceApp/AI/AiAchievementServiceApp.cs index fff9490..a352f61 100644 --- a/OpenAuth.App/ServiceApp/AI/AiAchievementServiceApp.cs +++ b/OpenAuth.App/ServiceApp/AI/AiAchievementServiceApp.cs @@ -21,6 +21,7 @@ public class AiAchievementServiceApp : SqlSugarBaseApp x.Title.Contains(req.key)) .WhereIF(req.startTime != null, x => x.CreateTime >= req.startTime && x.CreateTime <= req.endTime) + .OrderByDescending(x => x.CreateTime) .ToPageListAsync(req.page, req.limit, total); return new Response>>() { diff --git a/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs b/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs index 03dcfb5..bfc2b4c 100644 --- a/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs +++ b/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs @@ -852,69 +852,25 @@ namespace OpenAuth.App.ServiceApp.DroneDocking } /// - /// 无人机机场设备注册/更新 + /// 无人机状态上报 /// /// /// - public async Task> reportDroneStatus(List req) + public async Task> ReportDroneStatus() { - Response Response = new Response(); - - var handler = new HttpClientHandler(); - // 如果需要忽略服务器证书错误(仅测试环境) - handler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => true; - using (var client = new HttpClient()) + var droneList = await Repository + .ChangeRepository>() + .AsQueryable() + .Where(it => it.IsDelete == false) + .ToListAsync(); + foreach (var item in droneList) { - try - { - string url = configuration.GetSection("DroneDocking:Url").Value + "/droneAirport/reportDroneStatus"; - string x_lc_secret = _helper.getxseret(); - string centercode = "UAV32_LJY2FPMYDE6UDES3P3ZD7V3IKQ"; - string x_token = _helper.GetToken(centercode); - - // 序列化为 JSON 字符串 - string json = JsonSerializer.Serialize(req); - - // 转换为字节数组 - byte[] bytes = Encoding.UTF8.GetBytes(json); - - var encryptedData = _helper.Encrypt(bytes); - // 创建请求体 - var httpContent = new StringContent(encryptedData, Encoding.UTF8, "application/json"); - - // 添加请求头 - client.DefaultRequestHeaders.Add("x-lc-secret", x_lc_secret); - client.DefaultRequestHeaders.Add("x-lc-token", x_token); - - //发送请求 - HttpResponseMessage response = await client.PostAsync(url, httpContent); - response.EnsureSuccessStatusCode(); - - // 获取响应头中的 x_cl_screte 参数 - string resx_cl_screte = GetHeaderValue(response, "x-lc-secret"); - - // 读取响应内容并反序列化 - string responseBody = await response.Content.ReadAsStringAsync(); - var result = JsonSerializer.Deserialize>(responseBody); - - //解密数据 - byte[] resbytesx = Convert.FromBase64String(resx_cl_screte); - byte[] resdatabytes = Convert.FromBase64String(result?.data); - string data = _helper.Decrypt(resbytesx, resdatabytes); - - Response.Result = data; - Response.Message = result.message; - Response.Code = result.code; - } - catch (HttpRequestException e) - { - Console.WriteLine("\nException Caught!"); - Console.WriteLine("Message :{0} ", e.Message); - Response.Result = "连接错误"; - } + var status = await GetDroneStatus(item.Id); } + // todo 获取无人机状态列表 + // todo - return Response; + return null; } @@ -1260,35 +1216,37 @@ namespace OpenAuth.App.ServiceApp.DroneDocking { RefAsync totalCount = 0; var info = await base.Repository.AsQueryable() - .WhereIF(!string.IsNullOrEmpty(keyWord), t => t.taskname.Contains(keyWord)||t.bizidname.Contains(keyWord)) - .Select(t=>new DroneDockRes - { - id= t.id, - bizidname= t.bizidname, - taskname= t.taskname, - createtime= t.createtime, - state= t.state, - datacode= t.datacode, - deviceid= t.deviceid, - taskid= t.taskid, - tasklist = SqlFunc.Subqueryable().Where(r => r.taskid == t.id).LeftJoin((r, s) => r.flighttaskid == s.FlightId).ToList((r,s)=> new DetailRes + .WhereIF(!string.IsNullOrEmpty(keyWord), + t => t.taskname.Contains(keyWord) || t.bizidname.Contains(keyWord)) + .Select(t => new DroneDockRes { - id = r.id, - bsm=r.bsm, - Status=s.Status, - bz=r.bz, - dkbh=r.dkbh, - dkfw=r.dkfw, - dklx=r.dklx, - dkmc=r.dkmc, - dkmj=r.dkmj, - flighttaskid=r.flighttaskid, - taskid=r.taskid, - xzqdm=r.xzqdm, - zdkbh=r.zdkbh + id = t.id, + bizidname = t.bizidname, + taskname = t.taskname, + createtime = t.createtime, + state = t.state, + datacode = t.datacode, + deviceid = t.deviceid, + taskid = t.taskid, + tasklist = SqlFunc.Subqueryable().Where(r => r.taskid == t.id) + .LeftJoin((r, s) => r.flighttaskid == s.FlightId).ToList((r, s) => new DetailRes + { + id = r.id, + bsm = r.bsm, + Status = s.Status, + bz = r.bz, + dkbh = r.dkbh, + dkfw = r.dkfw, + dklx = r.dklx, + dkmc = r.dkmc, + dkmj = r.dkmj, + flighttaskid = r.flighttaskid, + taskid = r.taskid, + xzqdm = r.xzqdm, + zdkbh = r.zdkbh + }) }) - }) - .ToPageListAsync(page, limit, totalCount); + .ToPageListAsync(page, limit, totalCount); return new Response>> { Result = new PageInfo> diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/DroneDockController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/DroneDockController.cs index 470efc6..61c83fe 100644 --- a/OpenAuth.WebApi/Controllers/ServiceControllers/DroneDockController.cs +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/DroneDockController.cs @@ -338,26 +338,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers } } - /// - /// 无人机状态上报 - /// - /// - [HttpPost] - [AllowAnonymous] - public async Task> reportDroneStatus([FromBody] List req) - { - var result = new Response(); - try - { - result = await _app.reportDroneStatus(req); - } - catch (Exception ex) - { - result.Code = 500; - result.Message = ex.Message; - } - return result; - } + /// /// 无人机任务进度查询 ///