From fadd185dfb4c1a52e7f4ffb898cec989f3041217 Mon Sep 17 00:00:00 2001 From: zhangbin <460190368@qq.com> Date: Wed, 10 Sep 2025 10:37:23 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=A7=E5=8D=8E?= =?UTF-8?q?=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs | 106 ++++++++++++------ .../ServiceApp/AlgorithmsRepositoryApp.cs | 10 +- .../AlgorithmsRepositoryController.cs | 4 +- .../ServiceControllers/DaHuaAiController.cs | 4 +- 4 files changed, 83 insertions(+), 41 deletions(-) diff --git a/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs b/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs index adef9ea..972665d 100644 --- a/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs +++ b/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs @@ -35,7 +35,7 @@ namespace OpenAuth.App.ServiceApp.Algo #region 大华算法 //分析两次航线图片 - public async Task>> BehaviorAlarm(string firstId, string secondId) + public async Task>> BehaviorAlarm(string firstId, string secondId, string cdid) { using (var db = UnitWork.CreateContext()) { @@ -57,6 +57,7 @@ namespace OpenAuth.App.ServiceApp.Algo taskId = "8ab0e1e213234a848e20d0d335559786", capTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), taskTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), + cdid = cdid, imageInfo = new { imgSize = 1667235, @@ -79,6 +80,7 @@ namespace OpenAuth.App.ServiceApp.Algo pitch = imageList1[i].GimbalPitchDegree, roll = imageList1[i].GimbalRollDegree, focalLength = imageList1[i].FocalLength + }, new { imgUrl = "http://175.27.168.120:6013/test/"+imageList2[i].ObjectKey, @@ -110,45 +112,85 @@ namespace OpenAuth.App.ServiceApp.Algo using (var db = UnitWork.CreateContext()) { var data = JsonConvert.DeserializeObject(info); + string cdid = data.cdid.ToString(); + var oldinfo = await db.LasaAiAchievement.GetFirstAsync(r => r.TaskId == cdid); + var imageList = data.imageInfoList; string detectRegionJson = JsonConvert.SerializeObject(data.info.detectRegion); var regionArray = JsonConvert.DeserializeObject(detectRegionJson); - LasaAiAchievement lasaAiAchievement = new LasaAiAchievement - { - Id = Guid.NewGuid().ToString(), - Title = "耕地破坏区域报警", - CreateTime = DateTime.Now, - AiModel = "DaHuaAi" - }; - var imageList = data.imageInfoList; int index = 0; - foreach (var item in imageList) + if (oldinfo != null) { - //插入详情 - LasaAiAchievementDetail lasaAiAchievementDetail = new LasaAiAchievementDetail() + foreach (var item in imageList) + { + //插入详情 + LasaAiAchievementDetail lasaAiAchievementDetail = new LasaAiAchievementDetail() + { + Id = Guid.NewGuid().ToString(), + Image = item.imgUrl, + AiAchievementId = oldinfo.Id, + Lng = (double?)item.longitude ?? 0.0, + Lat = (double?)item.latitude ?? 0.0, + }; + //// 如果是第二张图片 -> 画区域 + 上传 + //var a = await DrawingImgAndUpload(item.imgUrl, regionArray); + //if (index == 1) + //{ + // //DrawingImgAsync(); + // Console.WriteLine(item.imgUrl); + // Console.WriteLine(regionArray); + // a = await DrawingImgAndUpload(item.imgUrl, regionArray); + // lasaAiAchievementDetail.Image = a; + //} + await db.LasaAiAchievementDetail.InsertAsync(lasaAiAchievementDetail); + index++; + } + } + else + { + LasaAiAchievement lasaAiAchievement = new LasaAiAchievement { Id = Guid.NewGuid().ToString(), - Image = item.imgUrl, - AiAchievementId = lasaAiAchievement.Id, - Lng = (double?)item.longitude ?? 0.0, - Lat = (double?)item.latitude ?? 0.0, + Title = "耕地破坏区域报警", + CreateTime = DateTime.Now, + AiModel = "DaHuaAi", + TaskId = cdid }; - //// 如果是第二张图片 -> 画区域 + 上传 - //var a = await DrawingImgAndUpload(item.imgUrl, regionArray); - //if (index == 1) - //{ - // //DrawingImgAsync(); - // Console.WriteLine(item.imgUrl); - // Console.WriteLine(regionArray); - // a = await DrawingImgAndUpload(item.imgUrl, regionArray); - // lasaAiAchievementDetail.Image = a; - //} - lasaAiAchievement.Lat = item.latitude; - lasaAiAchievement.Lng = item.longitude; - lasaAiAchievement.Cover = item.imgUrl; - await db.LasaAiAchievementDetail.InsertAsync(lasaAiAchievementDetail); - index++; + + foreach (var item in imageList) + { + //插入详情 + LasaAiAchievementDetail lasaAiAchievementDetail = new LasaAiAchievementDetail() + { + Id = Guid.NewGuid().ToString(), + Image = item.imgUrl, + AiAchievementId = lasaAiAchievement.Id, + Lng = (double?)item.longitude ?? 0.0, + Lat = (double?)item.latitude ?? 0.0, + }; + //// 如果是第二张图片 -> 画区域 + 上传 + //var a = await DrawingImgAndUpload(item.imgUrl, regionArray); + //if (index == 1) + //{ + // //DrawingImgAsync(); + // Console.WriteLine(item.imgUrl); + // Console.WriteLine(regionArray); + // a = await DrawingImgAndUpload(item.imgUrl, regionArray); + // lasaAiAchievementDetail.Image = a; + //} + lasaAiAchievement.Lat = item.latitude; + lasaAiAchievement.Lng = item.longitude; + lasaAiAchievement.Cover = item.imgUrl; + await db.LasaAiAchievementDetail.InsertAsync(lasaAiAchievementDetail); + index++; + } + await db.LasaAiAchievement.InsertAsync(lasaAiAchievement); + //查询监测记录,然后更新监测记录的成果id + await db.Lasa_ChangeDetection.UpdateAsync(u => new Lasa_ChangeDetection + { + AiAchievementId = lasaAiAchievement.Id + }, u => u.Id == cdid); } - await db.LasaAiAchievement.InsertAsync(lasaAiAchievement); + if (db.Commit()) return new Response { diff --git a/OpenAuth.App/ServiceApp/AlgorithmsRepositoryApp.cs b/OpenAuth.App/ServiceApp/AlgorithmsRepositoryApp.cs index 3e140cd..3b5e8b1 100644 --- a/OpenAuth.App/ServiceApp/AlgorithmsRepositoryApp.cs +++ b/OpenAuth.App/ServiceApp/AlgorithmsRepositoryApp.cs @@ -179,7 +179,7 @@ namespace OpenAuth.App.ServiceApp }; } } - public async Task> AddChangeDetection(Lasa_ChangeDetection info) + public async Task> AddChangeDetection(Lasa_ChangeDetection info) { using (var db = UnitWork.CreateContext()) { @@ -187,15 +187,15 @@ namespace OpenAuth.App.ServiceApp info.CreateTime = DateTime.Now; await db.Lasa_ChangeDetection.InsertAsync(info); if (db.Commit()) - return new Response + return new Response { - Result = true, + Result = info.Id, Message = "添加成功" }; else - return new Response + return new Response { - Result = false, + Result = info.Id, Message = "添加失败" }; } diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/AlgorithmsRepositoryController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/AlgorithmsRepositoryController.cs index 906c707..c682fc3 100644 --- a/OpenAuth.WebApi/Controllers/ServiceControllers/AlgorithmsRepositoryController.cs +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/AlgorithmsRepositoryController.cs @@ -138,9 +138,9 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers /// [HttpPost] [AllowAnonymous] - public async Task> AddChangeDetection(Lasa_ChangeDetection info) + public async Task> AddChangeDetection(Lasa_ChangeDetection info) { - var result = new Response(); + var result = new Response(); try { result = await _app.AddChangeDetection(info); diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/DaHuaAiController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/DaHuaAiController.cs index 549f2fe..22292ef 100644 --- a/OpenAuth.WebApi/Controllers/ServiceControllers/DaHuaAiController.cs +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/DaHuaAiController.cs @@ -225,10 +225,10 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers /// [HttpPost] [AllowAnonymous] - public async void BehaviorAlarm(string firstId, string secondId) + public async void BehaviorAlarm(string firstId, string secondId, string cdId) { var mq = await RabbitMqSender.CreateAsync("123.132.248.154", 9103, "DHCloudg1", "Cloud0#4fCraQrm"); - var dataList = await _app.BehaviorAlarm(firstId, secondId); + var dataList = await _app.BehaviorAlarm(firstId, secondId, cdId); foreach (var data in dataList.Result) { await mq.SendAsync("event.capturePic.1.sdhc04", JsonConvert.SerializeObject(data)); From b295badd4519f24cd8d4d9a2a1e6d8d3a494f06d Mon Sep 17 00:00:00 2001 From: zhangbin <460190368@qq.com> Date: Wed, 10 Sep 2025 10:50:28 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=BB=E5=8A=A1id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs b/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs index 972665d..e9fa5d1 100644 --- a/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs +++ b/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs @@ -39,10 +39,10 @@ namespace OpenAuth.App.ServiceApp.Algo { using (var db = UnitWork.CreateContext()) { - //var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); - //var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); - var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); - var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); + var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).OrderBy(r=>r.CreateTime).ToListAsync(); + var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).OrderBy(r => r.CreateTime).ToListAsync(); + //var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); + //var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); List dataList = new List(); for (int i = 0; i < imageList1.Count; i++) { From dc8f03f15e059d285174623be281f8860209446d Mon Sep 17 00:00:00 2001 From: zhangbin <460190368@qq.com> Date: Wed, 10 Sep 2025 13:41:50 +0800 Subject: [PATCH 3/4] xiugai --- OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs | 69 ++++++++++--------- .../ServiceControllers/DaHuaAiController.cs | 29 ++++---- .../RabbitMqListenerService.cs | 2 +- 3 files changed, 55 insertions(+), 45 deletions(-) diff --git a/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs b/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs index e9fa5d1..456d078 100644 --- a/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs +++ b/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs @@ -39,10 +39,10 @@ namespace OpenAuth.App.ServiceApp.Algo { using (var db = UnitWork.CreateContext()) { - var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).OrderBy(r=>r.CreateTime).ToListAsync(); - var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).OrderBy(r => r.CreateTime).ToListAsync(); - //var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); - //var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); + //var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).OrderBy(r=>r.CreateTime).ToListAsync(); + //var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).OrderBy(r => r.CreateTime).ToListAsync(); + var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); + var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); List dataList = new List(); for (int i = 0; i < imageList1.Count; i++) { @@ -109,6 +109,7 @@ namespace OpenAuth.App.ServiceApp.Algo } public async Task> AddDaHuaImg(string info) { + Console.WriteLine(info); using (var db = UnitWork.CreateContext()) { var data = JsonConvert.DeserializeObject(info); @@ -116,10 +117,11 @@ namespace OpenAuth.App.ServiceApp.Algo var oldinfo = await db.LasaAiAchievement.GetFirstAsync(r => r.TaskId == cdid); var imageList = data.imageInfoList; string detectRegionJson = JsonConvert.SerializeObject(data.info.detectRegion); - var regionArray = JsonConvert.DeserializeObject(detectRegionJson); - int index = 0; + //string detectRegionJson = "[[0, 0],[8063, 647],[8017, 7774],[552, 8033]]"; + var regionArray = JsonConvert.DeserializeObject(detectRegionJson); if (oldinfo != null) { + int index = 0; foreach (var item in imageList) { //插入详情 @@ -131,26 +133,25 @@ namespace OpenAuth.App.ServiceApp.Algo Lng = (double?)item.longitude ?? 0.0, Lat = (double?)item.latitude ?? 0.0, }; - //// 如果是第二张图片 -> 画区域 + 上传 - //var a = await DrawingImgAndUpload(item.imgUrl, regionArray); - //if (index == 1) - //{ - // //DrawingImgAsync(); - // Console.WriteLine(item.imgUrl); - // Console.WriteLine(regionArray); - // a = await DrawingImgAndUpload(item.imgUrl, regionArray); - // lasaAiAchievementDetail.Image = a; - //} + // 如果是第二张图片 -> 画区域 + 上传 + if (index == 1) + { + Console.WriteLine(item.imgUrl); + Console.WriteLine(regionArray); + var imgurlend = await DrawingImgAndUpload(); + lasaAiAchievementDetail.Image = imgurlend; + } await db.LasaAiAchievementDetail.InsertAsync(lasaAiAchievementDetail); index++; } } else { + int index = 0; LasaAiAchievement lasaAiAchievement = new LasaAiAchievement { Id = Guid.NewGuid().ToString(), - Title = "耕地破坏区域报警", + Title = "本地耕地破坏区域报警", CreateTime = DateTime.Now, AiModel = "DaHuaAi", TaskId = cdid @@ -167,16 +168,15 @@ namespace OpenAuth.App.ServiceApp.Algo Lng = (double?)item.longitude ?? 0.0, Lat = (double?)item.latitude ?? 0.0, }; - //// 如果是第二张图片 -> 画区域 + 上传 - //var a = await DrawingImgAndUpload(item.imgUrl, regionArray); - //if (index == 1) - //{ - // //DrawingImgAsync(); - // Console.WriteLine(item.imgUrl); - // Console.WriteLine(regionArray); - // a = await DrawingImgAndUpload(item.imgUrl, regionArray); - // lasaAiAchievementDetail.Image = a; - //} + // 如果是第二张图片 -> 画区域 + 上传 + if (index == 1) + { + Console.WriteLine(item.imgUrl); + Console.WriteLine(regionArray); + //var imgurlend = await DrawingImgAndUpload(item.imgUrl, regionArray); + var imgurlend = await DrawingImgAndUpload(); + lasaAiAchievementDetail.Image = imgurlend; + } lasaAiAchievement.Lat = item.latitude; lasaAiAchievement.Lng = item.longitude; lasaAiAchievement.Cover = item.imgUrl; @@ -205,13 +205,18 @@ namespace OpenAuth.App.ServiceApp.Algo }; } } - public async Task DrawingImgAndUpload(string url, dynamic regionArray) + //public async Task DrawingImgAndUpload(string url, int[][] regionArray) + public async Task DrawingImgAndUpload() { - //var regionArray = JsonConvert.DeserializeObject(detectRegionJson); - Console.WriteLine($"regionArray 是否为空: {regionArray == null}, 长度: {regionArray?.Length}"); + string url = "http://123.132.248.154:6015/DroneEnforcement/2025/20250514/lQLPJyIVimQWGKnNA4PNA6Gw1D3q5gbxUvQIiumcIx4vAA_929_899.png"; + + // detectRegion JSON(可以直接替换成你的接口返回数据) + string detectRegionJson = "[[0, 0],[8063, 647],[8017, 7774],[552, 8033]]"; + var regionArray = JsonConvert.DeserializeObject(detectRegionJson); + Console.WriteLine($"regionArray 是否为空"); - if (regionArray == null || regionArray.Length == 0) - throw new ArgumentException("detectRegion 参数无效"); + //if (regionArray == null || regionArray.Length == 0) + // throw new ArgumentException("detectRegion 参数无效"); Point[] polygon = new Point[regionArray.Length]; for (int i = 0; i < regionArray.Length; i++) diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/DaHuaAiController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/DaHuaAiController.cs index 22292ef..a46a984 100644 --- a/OpenAuth.WebApi/Controllers/ServiceControllers/DaHuaAiController.cs +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/DaHuaAiController.cs @@ -225,7 +225,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers /// [HttpPost] [AllowAnonymous] - public async void BehaviorAlarm(string firstId, string secondId, string cdId) + public async Task> BehaviorAlarm(string firstId, string secondId, string cdId) { var mq = await RabbitMqSender.CreateAsync("123.132.248.154", 9103, "DHCloudg1", "Cloud0#4fCraQrm"); var dataList = await _app.BehaviorAlarm(firstId, secondId, cdId); @@ -233,19 +233,24 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers { await mq.SendAsync("event.capturePic.1.sdhc04", JsonConvert.SerializeObject(data)); } + return new Response() + { + Code = 200, + Result = "执行成功" + }; } - /// - /// 测试大华 - /// - /// - /// - [HttpPost] - [AllowAnonymous] - public async void DrawingImgAndUploadAsync(string info, int[][] detectRegionJson) - { - await _app.DrawingImgAndUpload(info, detectRegionJson); + ///// + ///// 测试大华 + ///// + ///// + ///// + //[HttpPost] + //[AllowAnonymous] + //public async void DrawingImgAndUploadAsync(string info, int[][] detectRegionJson) + //{ + // await _app.DrawingImgAndUpload(info, detectRegionJson); - } + //} /// /// 测试插入数据 /// diff --git a/OpenAuth.WebApi/Model/RabbitMQService/RabbitMqListenerService.cs b/OpenAuth.WebApi/Model/RabbitMQService/RabbitMqListenerService.cs index 587cb6f..0723544 100644 --- a/OpenAuth.WebApi/Model/RabbitMQService/RabbitMqListenerService.cs +++ b/OpenAuth.WebApi/Model/RabbitMQService/RabbitMqListenerService.cs @@ -64,7 +64,7 @@ namespace OpenAuth.WebApi.Model.RabbitMQService var body = ea.Body.ToArray(); var message = Encoding.UTF8.GetString(body); - Console.WriteLine($"接收数据[processing_event]: {message}"); + //Console.WriteLine($"接收数据[processing_event]: {message}"); // Exchange 来做不同处理 switch (ea.Exchange) { From 03f00c9bc3ca0a51c07f2d060378fd27fba811b0 Mon Sep 17 00:00:00 2001 From: zhangbin <460190368@qq.com> Date: Wed, 10 Sep 2025 14:20:14 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs | 35 +++++++++++----------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs b/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs index 456d078..016b569 100644 --- a/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs +++ b/OpenAuth.App/ServiceApp/Algo/DaHuaAiApp.cs @@ -39,10 +39,10 @@ namespace OpenAuth.App.ServiceApp.Algo { using (var db = UnitWork.CreateContext()) { - //var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).OrderBy(r=>r.CreateTime).ToListAsync(); - //var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).OrderBy(r => r.CreateTime).ToListAsync(); - var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); - var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); + var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).OrderBy(r=>r.CreateTime).ToListAsync(); + var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.TaskId == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).OrderBy(r => r.CreateTime).ToListAsync(); + //var imageList1 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == firstId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); + //var imageList2 = await db.LasaMediaFile.AsQueryable().Where(r => r.Id == secondId && r.AbsoluteAltitude != 0 && r.AbsoluteAltitude != null).ToListAsync(); List dataList = new List(); for (int i = 0; i < imageList1.Count; i++) { @@ -118,6 +118,7 @@ namespace OpenAuth.App.ServiceApp.Algo var imageList = data.imageInfoList; string detectRegionJson = JsonConvert.SerializeObject(data.info.detectRegion); //string detectRegionJson = "[[0, 0],[8063, 647],[8017, 7774],[552, 8033]]"; + //string url = "http://123.132.248.154:6015/DroneEnforcement/2025/20250514/lQLPJyIVimQWGKnNA4PNA6Gw1D3q5gbxUvQIiumcIx4vAA_929_899.png"; var regionArray = JsonConvert.DeserializeObject(detectRegionJson); if (oldinfo != null) { @@ -138,7 +139,7 @@ namespace OpenAuth.App.ServiceApp.Algo { Console.WriteLine(item.imgUrl); Console.WriteLine(regionArray); - var imgurlend = await DrawingImgAndUpload(); + var imgurlend = await DrawingImgAndUpload(item.imgUrl.ToString().Replace("\\", ""), regionArray, cdid); lasaAiAchievementDetail.Image = imgurlend; } await db.LasaAiAchievementDetail.InsertAsync(lasaAiAchievementDetail); @@ -174,7 +175,7 @@ namespace OpenAuth.App.ServiceApp.Algo Console.WriteLine(item.imgUrl); Console.WriteLine(regionArray); //var imgurlend = await DrawingImgAndUpload(item.imgUrl, regionArray); - var imgurlend = await DrawingImgAndUpload(); + var imgurlend = await DrawingImgAndUpload(item.imgUrl.ToString().Replace("\\", ""), regionArray, cdid); lasaAiAchievementDetail.Image = imgurlend; } lasaAiAchievement.Lat = item.latitude; @@ -206,14 +207,14 @@ namespace OpenAuth.App.ServiceApp.Algo } } //public async Task DrawingImgAndUpload(string url, int[][] regionArray) - public async Task DrawingImgAndUpload() - { - string url = "http://123.132.248.154:6015/DroneEnforcement/2025/20250514/lQLPJyIVimQWGKnNA4PNA6Gw1D3q5gbxUvQIiumcIx4vAA_929_899.png"; - + public async Task DrawingImgAndUpload(string url, int[][] regionArray, string cdid) + { + //string url = "http://123.132.248.154:6015/DroneEnforcement/2025/20250514/lQLPJyIVimQWGKnNA4PNA6Gw1D3q5gbxUvQIiumcIx4vAA_929_899.png"; + // detectRegion JSON(可以直接替换成你的接口返回数据) - string detectRegionJson = "[[0, 0],[8063, 647],[8017, 7774],[552, 8033]]"; - var regionArray = JsonConvert.DeserializeObject(detectRegionJson); - Console.WriteLine($"regionArray 是否为空"); + //string detectRegionJson = "[[0, 0],[8063, 647],[8017, 7774],[552, 8033]]"; + //var regionArray = JsonConvert.DeserializeObject(detectRegionJson); + //Console.WriteLine($"regionArray 是否为空"); //if (regionArray == null || regionArray.Length == 0) // throw new ArgumentException("detectRegion 参数无效"); @@ -227,7 +228,6 @@ namespace OpenAuth.App.ServiceApp.Algo using (HttpClient client = new HttpClient()) { var bytes = await client.GetByteArrayAsync(url); - using (var ms = new MemoryStream(bytes)) using (var image = Image.FromStream(ms)) using (var bmp = new Bitmap(image)) @@ -236,20 +236,19 @@ namespace OpenAuth.App.ServiceApp.Algo g.SmoothingMode = SmoothingMode.AntiAlias; using (var pen = new Pen(Color.Red, 5)) - using (var brush = new SolidBrush(Color.FromArgb(80, Color.Blue))) { - g.FillPolygon(brush, polygon); g.DrawPolygon(pen, polygon); } + using (var outputStream = new MemoryStream()) { bmp.Save(outputStream, ImageFormat.Png); outputStream.Position = 0; string fileName = Path.GetFileName(new Uri(url).AbsolutePath); // 上传到 MinIO(直接传 MemoryStream) - string uploadedUrl = await _minioService.UploadStreamFile(outputStream, fileName, "test", Guid.NewGuid().ToString()); - Console.WriteLine(uploadedUrl); + string uploadedUrl = await _minioService.UploadStreamFile(outputStream, fileName, "test", cdid); + Console.WriteLine("返回imgurl:" + uploadedUrl); return uploadedUrl; } }