Compare commits

...

2 Commits

Author SHA1 Message Date
zhangbin 03f00c9bc3 修改参数 2025-09-10 14:20:14 +08:00
zhangbin dc8f03f15e xiugai 2025-09-10 13:41:50 +08:00
3 changed files with 56 additions and 47 deletions

View File

@ -109,6 +109,7 @@ namespace OpenAuth.App.ServiceApp.Algo
} }
public async Task<Response<bool>> AddDaHuaImg(string info) public async Task<Response<bool>> AddDaHuaImg(string info)
{ {
Console.WriteLine(info);
using (var db = UnitWork.CreateContext()) using (var db = UnitWork.CreateContext())
{ {
var data = JsonConvert.DeserializeObject<dynamic>(info); var data = JsonConvert.DeserializeObject<dynamic>(info);
@ -116,10 +117,12 @@ namespace OpenAuth.App.ServiceApp.Algo
var oldinfo = await db.LasaAiAchievement.GetFirstAsync(r => r.TaskId == cdid); var oldinfo = await db.LasaAiAchievement.GetFirstAsync(r => r.TaskId == cdid);
var imageList = data.imageInfoList; var imageList = data.imageInfoList;
string detectRegionJson = JsonConvert.SerializeObject(data.info.detectRegion); string detectRegionJson = JsonConvert.SerializeObject(data.info.detectRegion);
var regionArray = JsonConvert.DeserializeObject<dynamic>(detectRegionJson); //string detectRegionJson = "[[0, 0],[8063, 647],[8017, 7774],[552, 8033]]";
int index = 0; //string url = "http://123.132.248.154:6015/DroneEnforcement/2025/20250514/lQLPJyIVimQWGKnNA4PNA6Gw1D3q5gbxUvQIiumcIx4vAA_929_899.png";
var regionArray = JsonConvert.DeserializeObject<int[][]>(detectRegionJson);
if (oldinfo != null) if (oldinfo != null)
{ {
int index = 0;
foreach (var item in imageList) foreach (var item in imageList)
{ {
//插入详情 //插入详情
@ -131,26 +134,25 @@ namespace OpenAuth.App.ServiceApp.Algo
Lng = (double?)item.longitude ?? 0.0, Lng = (double?)item.longitude ?? 0.0,
Lat = (double?)item.latitude ?? 0.0, Lat = (double?)item.latitude ?? 0.0,
}; };
//// 如果是第二张图片 -> 画区域 + 上传 // 如果是第二张图片 -> 画区域 + 上传
//var a = await DrawingImgAndUpload(item.imgUrl, regionArray); if (index == 1)
//if (index == 1) {
//{ Console.WriteLine(item.imgUrl);
// //DrawingImgAsync(); Console.WriteLine(regionArray);
// Console.WriteLine(item.imgUrl); var imgurlend = await DrawingImgAndUpload(item.imgUrl.ToString().Replace("\\", ""), regionArray, cdid);
// Console.WriteLine(regionArray); lasaAiAchievementDetail.Image = imgurlend;
// a = await DrawingImgAndUpload(item.imgUrl, regionArray); }
// lasaAiAchievementDetail.Image = a;
//}
await db.LasaAiAchievementDetail.InsertAsync(lasaAiAchievementDetail); await db.LasaAiAchievementDetail.InsertAsync(lasaAiAchievementDetail);
index++; index++;
} }
} }
else else
{ {
int index = 0;
LasaAiAchievement lasaAiAchievement = new LasaAiAchievement LasaAiAchievement lasaAiAchievement = new LasaAiAchievement
{ {
Id = Guid.NewGuid().ToString(), Id = Guid.NewGuid().ToString(),
Title = "耕地破坏区域报警", Title = "本地耕地破坏区域报警",
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
AiModel = "DaHuaAi", AiModel = "DaHuaAi",
TaskId = cdid TaskId = cdid
@ -167,16 +169,15 @@ namespace OpenAuth.App.ServiceApp.Algo
Lng = (double?)item.longitude ?? 0.0, Lng = (double?)item.longitude ?? 0.0,
Lat = (double?)item.latitude ?? 0.0, Lat = (double?)item.latitude ?? 0.0,
}; };
//// 如果是第二张图片 -> 画区域 + 上传 // 如果是第二张图片 -> 画区域 + 上传
//var a = await DrawingImgAndUpload(item.imgUrl, regionArray); if (index == 1)
//if (index == 1) {
//{ Console.WriteLine(item.imgUrl);
// //DrawingImgAsync(); Console.WriteLine(regionArray);
// Console.WriteLine(item.imgUrl); //var imgurlend = await DrawingImgAndUpload(item.imgUrl, regionArray);
// Console.WriteLine(regionArray); var imgurlend = await DrawingImgAndUpload(item.imgUrl.ToString().Replace("\\", ""), regionArray, cdid);
// a = await DrawingImgAndUpload(item.imgUrl, regionArray); lasaAiAchievementDetail.Image = imgurlend;
// lasaAiAchievementDetail.Image = a; }
//}
lasaAiAchievement.Lat = item.latitude; lasaAiAchievement.Lat = item.latitude;
lasaAiAchievement.Lng = item.longitude; lasaAiAchievement.Lng = item.longitude;
lasaAiAchievement.Cover = item.imgUrl; lasaAiAchievement.Cover = item.imgUrl;
@ -205,13 +206,18 @@ namespace OpenAuth.App.ServiceApp.Algo
}; };
} }
} }
public async Task<string> DrawingImgAndUpload(string url, dynamic regionArray) //public async Task<string> DrawingImgAndUpload(string url, int[][] regionArray)
public async Task<string> DrawingImgAndUpload(string url, int[][] regionArray, string cdid)
{ {
//var regionArray = JsonConvert.DeserializeObject<int[][]>(detectRegionJson); //string url = "http://123.132.248.154:6015/DroneEnforcement/2025/20250514/lQLPJyIVimQWGKnNA4PNA6Gw1D3q5gbxUvQIiumcIx4vAA_929_899.png";
Console.WriteLine($"regionArray 是否为空: {regionArray == null}, 长度: {regionArray?.Length}");
if (regionArray == null || regionArray.Length == 0) // detectRegion JSON可以直接替换成你的接口返回数据
throw new ArgumentException("detectRegion 参数无效"); //string detectRegionJson = "[[0, 0],[8063, 647],[8017, 7774],[552, 8033]]";
//var regionArray = JsonConvert.DeserializeObject<int[][]>(detectRegionJson);
//Console.WriteLine($"regionArray 是否为空");
//if (regionArray == null || regionArray.Length == 0)
// throw new ArgumentException("detectRegion 参数无效");
Point[] polygon = new Point[regionArray.Length]; Point[] polygon = new Point[regionArray.Length];
for (int i = 0; i < regionArray.Length; i++) for (int i = 0; i < regionArray.Length; i++)
@ -222,7 +228,6 @@ namespace OpenAuth.App.ServiceApp.Algo
using (HttpClient client = new HttpClient()) using (HttpClient client = new HttpClient())
{ {
var bytes = await client.GetByteArrayAsync(url); var bytes = await client.GetByteArrayAsync(url);
using (var ms = new MemoryStream(bytes)) using (var ms = new MemoryStream(bytes))
using (var image = Image.FromStream(ms)) using (var image = Image.FromStream(ms))
using (var bmp = new Bitmap(image)) using (var bmp = new Bitmap(image))
@ -231,20 +236,19 @@ namespace OpenAuth.App.ServiceApp.Algo
g.SmoothingMode = SmoothingMode.AntiAlias; g.SmoothingMode = SmoothingMode.AntiAlias;
using (var pen = new Pen(Color.Red, 5)) 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); g.DrawPolygon(pen, polygon);
} }
using (var outputStream = new MemoryStream()) using (var outputStream = new MemoryStream())
{ {
bmp.Save(outputStream, ImageFormat.Png); bmp.Save(outputStream, ImageFormat.Png);
outputStream.Position = 0; outputStream.Position = 0;
string fileName = Path.GetFileName(new Uri(url).AbsolutePath); string fileName = Path.GetFileName(new Uri(url).AbsolutePath);
// 上传到 MinIO直接传 MemoryStream // 上传到 MinIO直接传 MemoryStream
string uploadedUrl = await _minioService.UploadStreamFile(outputStream, fileName, "test", Guid.NewGuid().ToString()); string uploadedUrl = await _minioService.UploadStreamFile(outputStream, fileName, "test", cdid);
Console.WriteLine(uploadedUrl); Console.WriteLine("返回imgurl" + uploadedUrl);
return uploadedUrl; return uploadedUrl;
} }
} }

View File

@ -225,7 +225,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
/// <param name="secondId"></param> /// <param name="secondId"></param>
[HttpPost] [HttpPost]
[AllowAnonymous] [AllowAnonymous]
public async void BehaviorAlarm(string firstId, string secondId, string cdId) public async Task<Response<string>> BehaviorAlarm(string firstId, string secondId, string cdId)
{ {
var mq = await RabbitMqSender.CreateAsync("123.132.248.154", 9103, "DHCloudg1", "Cloud0#4fCraQrm"); var mq = await RabbitMqSender.CreateAsync("123.132.248.154", 9103, "DHCloudg1", "Cloud0#4fCraQrm");
var dataList = await _app.BehaviorAlarm(firstId, secondId, cdId); 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)); await mq.SendAsync("event.capturePic.1.sdhc04", JsonConvert.SerializeObject(data));
} }
return new Response<string>()
{
Code = 200,
Result = "执行成功"
};
} }
/// <summary> ///// <summary>
/// 测试大华 ///// 测试大华
/// </summary> ///// </summary>
/// <param name="info"></param> ///// <param name="info"></param>
/// <param name="detectRegionJson"></param> ///// <param name="detectRegionJson"></param>
[HttpPost] //[HttpPost]
[AllowAnonymous] //[AllowAnonymous]
public async void DrawingImgAndUploadAsync(string info, int[][] detectRegionJson) //public async void DrawingImgAndUploadAsync(string info, int[][] detectRegionJson)
{ //{
await _app.DrawingImgAndUpload(info, detectRegionJson); // await _app.DrawingImgAndUpload(info, detectRegionJson);
} //}
/// <summary> /// <summary>
/// 测试插入数据 /// 测试插入数据
/// </summary> /// </summary>

View File

@ -64,7 +64,7 @@ namespace OpenAuth.WebApi.Model.RabbitMQService
var body = ea.Body.ToArray(); var body = ea.Body.ToArray();
var message = Encoding.UTF8.GetString(body); var message = Encoding.UTF8.GetString(body);
Console.WriteLine($"接收数据[processing_event]: {message}"); //Console.WriteLine($"接收数据[processing_event]: {message}");
// Exchange 来做不同处理 // Exchange 来做不同处理
switch (ea.Exchange) switch (ea.Exchange)
{ {