From 3a60bcc174eeff20130e7a4e0a2945c0f2701c75 Mon Sep 17 00:00:00 2001 From: chenchun Date: Wed, 13 Aug 2025 18:30:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E7=8A=B6=E6=80=81=E6=9E=9A=E4=B8=BE=E5=A4=84=E7=90=86?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为TradeStatusEnum枚举添加Description特性标注 - 重构GetTradeStatusDescription方法,使用反射获取Description特性值 - 简化ParseTradeStatus方法,使用Enum.TryParse替代switch表达式 - 提高代码可维护性,避免硬编码状态描述 --- .../Services/PayService.cs | 25 +++++++------------ .../Enums/TradeStatusEnum.cs | 9 ++++++- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/PayService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/PayService.cs index 7498296c..89711314 100644 --- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/PayService.cs +++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/PayService.cs @@ -12,6 +12,8 @@ using Yi.Framework.AiHub.Application.Contracts.IServices; using Volo.Abp; using Yi.Framework.AiHub.Domain.Entities.Pay; using Yi.Framework.SqlSugarCore.Abstractions; +using System.ComponentModel; +using System.Reflection; namespace Yi.Framework.AiHub.Application.Services; @@ -147,15 +149,9 @@ public class PayService : ApplicationService, IPayService /// 状态描述 private string GetTradeStatusDescription(TradeStatusEnum tradeStatus) { - return tradeStatus switch - { - TradeStatusEnum.WAIT_TRADE => "准备发起", - TradeStatusEnum.WAIT_BUYER_PAY => "等待买家付款", - TradeStatusEnum.TRADE_SUCCESS => "交易成功", - TradeStatusEnum.TRADE_FINISHED => "交易结束", - TradeStatusEnum.TRADE_CLOSED => "交易关闭", - _ => "未知状态" - }; + var fieldInfo = tradeStatus.GetType().GetField(tradeStatus.ToString()); + var descriptionAttribute = fieldInfo?.GetCustomAttribute(); + return descriptionAttribute?.Description ?? "未知状态"; } /// @@ -165,13 +161,10 @@ public class PayService : ApplicationService, IPayService /// private TradeStatusEnum ParseTradeStatus(string tradeStatus) { - return tradeStatus switch + if (Enum.TryParse(tradeStatus, out var result)) { - "WAIT_BUYER_PAY" => TradeStatusEnum.WAIT_BUYER_PAY, - "TRADE_SUCCESS" => TradeStatusEnum.TRADE_SUCCESS, - "TRADE_FINISHED" => TradeStatusEnum.TRADE_FINISHED, - "TRADE_CLOSED" => TradeStatusEnum.TRADE_CLOSED, - _ => TradeStatusEnum.WAIT_TRADE - }; + return result; + } + return TradeStatusEnum.WAIT_TRADE; } } \ No newline at end of file diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain.Shared/Enums/TradeStatusEnum.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain.Shared/Enums/TradeStatusEnum.cs index 9309ba81..e1557f1c 100644 --- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain.Shared/Enums/TradeStatusEnum.cs +++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain.Shared/Enums/TradeStatusEnum.cs @@ -1,29 +1,36 @@ -namespace Yi.Framework.AiHub.Domain.Shared.Enums; +using System.ComponentModel; + +namespace Yi.Framework.AiHub.Domain.Shared.Enums; public enum TradeStatusEnum { /// /// 准备发起 /// + [Description("准备发起")] WAIT_TRADE = 0, /// /// 交易创建 /// + [Description("等待买家付款")] WAIT_BUYER_PAY = 10, /// /// 交易关闭 /// + [Description("交易关闭")] TRADE_CLOSED = 20, /// /// 交易成功 /// + [Description("交易成功")] TRADE_SUCCESS = 100, /// /// 交易结束 /// + [Description("交易结束")] TRADE_FINISHED = -10 } \ No newline at end of file