From fe781db417d8312dc0ea3b7a9bfff90d7dd8e34c Mon Sep 17 00:00:00 2001 From: niannian zheng Date: Mon, 2 Mar 2026 17:29:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E7=AD=96=E7=95=A5):=20=E5=B0=86?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=AD=98=E5=82=A8=E6=A0=BC=E5=BC=8F=E4=BB=8E?= =?UTF-8?q?JSON=E6=95=B0=E7=BB=84=E6=94=B9=E4=B8=BA=E9=80=97=E5=8F=B7?= =?UTF-8?q?=E5=88=86=E9=9A=94=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改策略标签的存储格式,从JSON数组序列化改为简单的逗号分隔字符串,简化数据存储和处理逻辑。同时更新相关控制器和服务层的代码以适应这一变更。 --- AssetManager.API/Controllers/StrategyController.cs | 3 ++- AssetManager.Data/Strategy.cs | 4 ++-- AssetManager.Services/StrategyService.cs | 8 ++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/AssetManager.API/Controllers/StrategyController.cs b/AssetManager.API/Controllers/StrategyController.cs index ebff097..403e6d8 100644 --- a/AssetManager.API/Controllers/StrategyController.cs +++ b/AssetManager.API/Controllers/StrategyController.cs @@ -35,7 +35,8 @@ public class StrategyController : ControllerBase { try { - tags = System.Text.Json.JsonSerializer.Deserialize>(strategy.Tags); + // 尝试按逗号分割字符串 + tags = strategy.Tags.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); } catch { } } diff --git a/AssetManager.Data/Strategy.cs b/AssetManager.Data/Strategy.cs index e3329d4..2ef7bb1 100644 --- a/AssetManager.Data/Strategy.cs +++ b/AssetManager.Data/Strategy.cs @@ -39,9 +39,9 @@ public class Strategy public string Description { get; set; } /// - /// 策略标签 (JSON数组) + /// 策略标签 (逗号分隔的字符串) /// - [SugarColumn(ColumnName = "tags", IsJson = true)] + [SugarColumn(ColumnName = "tags")] public string Tags { get; set; } /// diff --git a/AssetManager.Services/StrategyService.cs b/AssetManager.Services/StrategyService.cs index 648231f..13d1dc8 100644 --- a/AssetManager.Services/StrategyService.cs +++ b/AssetManager.Services/StrategyService.cs @@ -22,9 +22,9 @@ public class StrategyService : IStrategyService Alias = request.name, Type = request.type, Description = request.description, - Tags = System.Text.Json.JsonSerializer.Serialize(request.tags), + Tags = request.tags != null ? string.Join(",", request.tags) : null, RiskLevel = request.riskLevel, - Config = System.Text.Json.JsonSerializer.Serialize(request.parameters), + Config = request.parameters != null ? System.Text.Json.JsonSerializer.Serialize(request.parameters) : null, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }; @@ -61,9 +61,9 @@ public class StrategyService : IStrategyService strategy.Alias = request.name; strategy.Type = request.type; strategy.Description = request.description; - strategy.Tags = System.Text.Json.JsonSerializer.Serialize(request.tags); + strategy.Tags = request.tags != null ? string.Join(",", request.tags) : null; strategy.RiskLevel = request.riskLevel; - strategy.Config = System.Text.Json.JsonSerializer.Serialize(request.parameters); + strategy.Config = request.parameters != null ? System.Text.Json.JsonSerializer.Serialize(request.parameters) : null; strategy.UpdatedAt = DateTime.Now; _db.Updateable(strategy).ExecuteCommand();