refactor: 优化交易状态枚举处理方式

- 为TradeStatusEnum枚举添加Description特性标注
- 重构GetTradeStatusDescription方法,使用反射获取Description特性值
- 简化ParseTradeStatus方法,使用Enum.TryParse替代switch表达式
- 提高代码可维护性,避免硬编码状态描述
This commit is contained in:
chenchun
2025-08-13 18:30:56 +08:00
parent 2b3fad16fd
commit 3a60bcc174
2 changed files with 17 additions and 17 deletions

View File

@@ -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
/// <returns>状态描述</returns>
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<DescriptionAttribute>();
return descriptionAttribute?.Description ?? "未知状态";
}
/// <summary>
@@ -165,13 +161,10 @@ public class PayService : ApplicationService, IPayService
/// <returns></returns>
private TradeStatusEnum ParseTradeStatus(string tradeStatus)
{
return tradeStatus switch
if (Enum.TryParse<TradeStatusEnum>(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;
}
}

View File

@@ -1,29 +1,36 @@
namespace Yi.Framework.AiHub.Domain.Shared.Enums;
using System.ComponentModel;
namespace Yi.Framework.AiHub.Domain.Shared.Enums;
public enum TradeStatusEnum
{
/// <summary>
/// 准备发起
/// </summary>
[Description("准备发起")]
WAIT_TRADE = 0,
/// <summary>
/// 交易创建
/// </summary>
[Description("等待买家付款")]
WAIT_BUYER_PAY = 10,
/// <summary>
/// 交易关闭
/// </summary>
[Description("交易关闭")]
TRADE_CLOSED = 20,
/// <summary>
/// 交易成功
/// </summary>
[Description("交易成功")]
TRADE_SUCCESS = 100,
/// <summary>
/// 交易结束
/// </summary>
[Description("交易结束")]
TRADE_FINISHED = -10
}