From 184a9d08c16009e74da13c04a32bc194d7ca8ff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=BC=9F?= <421281095@qq.com> Date: Tue, 26 Aug 2025 14:01:30 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BC=98=E5=8C=96import=E5=8F=8A=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E7=A9=BA=E9=97=B4=202.=20=E6=B7=BB=E5=8A=A0ai?= =?UTF-8?q?=E6=88=90=E6=9E=9C=E6=8E=A5=E5=8F=A3=203.=20=E7=9C=81=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=97=A0=E4=BA=BA=E6=9C=BA=E7=8A=B6=E6=80=81=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=EF=BC=88=E9=83=A8=E5=88=86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ServiceApp/AI/AiAchievementServiceApp.cs | 41 +++++++++++++++++ .../ServiceApp/Algo/AlgoInstanceServiceApp.cs | 2 +- .../ServiceApp/DroneDocking/DroneDockApp.cs | 9 ---- .../Domain/LasaAiAchievement.cs | 33 ++++++++++++++ .../Domain/LasaAiAchievementDetail.cs | 15 +++++++ .../AiAchievementController.cs | 44 +++++++++++++++++++ .../AlgoInstanceController.cs | 1 + 7 files changed, 135 insertions(+), 10 deletions(-) create mode 100644 OpenAuth.App/ServiceApp/AI/AiAchievementServiceApp.cs create mode 100644 OpenAuth.Repository/Domain/LasaAiAchievement.cs create mode 100644 OpenAuth.Repository/Domain/LasaAiAchievementDetail.cs create mode 100644 OpenAuth.WebApi/Controllers/ServiceControllers/AiAchievementController.cs diff --git a/OpenAuth.App/ServiceApp/AI/AiAchievementServiceApp.cs b/OpenAuth.App/ServiceApp/AI/AiAchievementServiceApp.cs new file mode 100644 index 0000000..b891ec4 --- /dev/null +++ b/OpenAuth.App/ServiceApp/AI/AiAchievementServiceApp.cs @@ -0,0 +1,41 @@ +using Infrastructure; +using OpenAuth.App.BaseApp.Base; +using OpenAuth.App.Interface; +using OpenAuth.App.Request; +using OpenAuth.Repository; +using OpenAuth.Repository.Domain; +using SqlSugar; + +namespace OpenAuth.App.ServiceApp.AI; + +public class AiAchievementServiceApp : SqlSugarBaseApp +{ + public AiAchievementServiceApp(ISugarUnitOfWork unitWork, + ISimpleClient repository, IAuth auth) : base(unitWork, repository, auth) + { + } + + public async Task>>> GetAiAchievementList(PageReq req) + { + RefAsync total = 0; + var page = await Repository.AsQueryable() + .WhereIF(!string.IsNullOrEmpty(req.key), x => x.Title.Contains(req.key)) + .ToPageListAsync(req.page, req.limit, total); + return new Response>>() + { + Result = new PageInfo>() + { + Items = page, + Total = total.Value + } + }; + } + + public async Task> GetAiAchievement(string id) + { + return new Response() + { + Result = await Repository.GetByIdAsync(id) + }; + } +} \ No newline at end of file diff --git a/OpenAuth.App/ServiceApp/Algo/AlgoInstanceServiceApp.cs b/OpenAuth.App/ServiceApp/Algo/AlgoInstanceServiceApp.cs index c9f3593..7a9f996 100644 --- a/OpenAuth.App/ServiceApp/Algo/AlgoInstanceServiceApp.cs +++ b/OpenAuth.App/ServiceApp/Algo/AlgoInstanceServiceApp.cs @@ -6,7 +6,7 @@ using OpenAuth.Repository; using OpenAuth.Repository.Domain; using SqlSugar; -namespace OpenAuth.App.ServiceApp; +namespace OpenAuth.App.ServiceApp.Algo; public class AlgoInstanceServiceApp : SqlSugarBaseApp { diff --git a/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs b/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs index 0ebef1b..57b05e6 100644 --- a/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs +++ b/OpenAuth.App/ServiceApp/DroneDocking/DroneDockApp.cs @@ -650,15 +650,6 @@ namespace OpenAuth.App.ServiceApp.DroneDocking { ResData Response = new ResData(); string data = "{\r\n\"code\": 200,\r\n\"data\": {\r\n\"mode_code\":0,\r\n\"longitude\":122.45,\r\n\"latitude\":30.45,\r\n\"height\":80,\r\n\"elevation\":50,\r\n\"gimbal_pitch\":-45,\r\n\"gimbal_yaw\":23,\r\n\"battery_capacity_percent\":35,\r\n\"gps_state\":2,\r\n},\r\n\"message\": \"获取无人机机场状态成功!\",\r\n\"traceid\": \"xxx\"\r\n}"; - //todo deviceid - var topicRequest1 = $"thing/product/" + deviceid + "/osd"; - await _mqttClientManager.SubscribeAsync(topicRequest1, async (args) => - { - var payload1 = args.ApplicationMessage.Payload; - var message = Encoding.UTF8.GetString(payload1); - Console.WriteLine($"收到主题 [{args.ApplicationMessage.Topic}] 的消息: {message}"); - await Task.CompletedTask; - }); if (true) { string x_lc_secret = _helper.getxseret(); diff --git a/OpenAuth.Repository/Domain/LasaAiAchievement.cs b/OpenAuth.Repository/Domain/LasaAiAchievement.cs new file mode 100644 index 0000000..2763b35 --- /dev/null +++ b/OpenAuth.Repository/Domain/LasaAiAchievement.cs @@ -0,0 +1,33 @@ +using SqlSugar; + +namespace OpenAuth.Repository.Domain; + +public class LasaAiAchievement +{ + [SugarColumn(ColumnName = "Id", IsPrimaryKey = true)] + public string Id { get; set; } + + [SugarColumn(ColumnName = "Title")] + public string Title { get; set; } + + [SugarColumn(ColumnName = "ConfidenceLevel")] + public float? ConfidenceLevel { get; set; } + + [SugarColumn(ColumnName = "Lng")] + public float? Lng { get; set; } + + [SugarColumn(ColumnName = "Lat")] + public float? Lat { get; set; } + + [SugarColumn(ColumnName = "Address")] + public string Address { get; set; } + + [SugarColumn(ColumnName = "CreateTime")] + public DateTime? CreateTime { get; set; } + + [SugarColumn(ColumnName = "PayloadModel")] + public string PayloadModel { get; set; } + + [SugarColumn(ColumnName = "AiModel")] + public string AiModel { get; set; } +} \ No newline at end of file diff --git a/OpenAuth.Repository/Domain/LasaAiAchievementDetail.cs b/OpenAuth.Repository/Domain/LasaAiAchievementDetail.cs new file mode 100644 index 0000000..9b281c5 --- /dev/null +++ b/OpenAuth.Repository/Domain/LasaAiAchievementDetail.cs @@ -0,0 +1,15 @@ +using SqlSugar; + +namespace OpenAuth.Repository.Domain; + +public class LasaAiAchievementDetail +{ + [SugarColumn(ColumnName = "Id", IsPrimaryKey = true)] + public string Id { get; set; } + + [SugarColumn(ColumnName = "Image")] + public string Image { get; set; } + + [SugarColumn(ColumnName = "AiAchievementId")] + public string AiAchievementId { get; set; } +} \ No newline at end of file diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/AiAchievementController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/AiAchievementController.cs new file mode 100644 index 0000000..1057812 --- /dev/null +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/AiAchievementController.cs @@ -0,0 +1,44 @@ +using Infrastructure; +using Microsoft.AspNetCore.Mvc; +using OpenAuth.App.Request; +using OpenAuth.App.ServiceApp.AI; +using OpenAuth.Repository.Domain; + +namespace OpenAuth.WebApi.Controllers.ServiceControllers; + +/// +/// AI成果控制器 +/// +[Route("api/[controller]/[action]")] +[ApiController] +public class AiAchievementController : ControllerBase +{ + private readonly AiAchievementServiceApp _app; + + public AiAchievementController(AiAchievementServiceApp app) + { + _app = app; + } + + /// + /// AI成果列表 + /// + /// + /// + [HttpGet] + public async Task>>> GetAiAchievementList([FromQuery] PageReq req) + { + return await _app.GetAiAchievementList(req); + } + + /// + /// AI成果详情 + /// + /// + /// + [HttpGet] + public async Task> GetAiAchievement(string id) + { + return await _app.GetAiAchievement(id); + } +} \ No newline at end of file diff --git a/OpenAuth.WebApi/Controllers/ServiceControllers/AlgoInstanceController.cs b/OpenAuth.WebApi/Controllers/ServiceControllers/AlgoInstanceController.cs index a314739..be27569 100644 --- a/OpenAuth.WebApi/Controllers/ServiceControllers/AlgoInstanceController.cs +++ b/OpenAuth.WebApi/Controllers/ServiceControllers/AlgoInstanceController.cs @@ -1,6 +1,7 @@ using Infrastructure; using Microsoft.AspNetCore.Mvc; using OpenAuth.App.ServiceApp; +using OpenAuth.App.ServiceApp.Algo; using OpenAuth.App.ServiceApp.Algo.Request; using OpenAuth.Repository.Domain;