refactor: 优化交易状态枚举处理方式
- 为TradeStatusEnum枚举添加Description特性标注 - 重构GetTradeStatusDescription方法,使用反射获取Description特性值 - 简化ParseTradeStatus方法,使用Enum.TryParse替代switch表达式 - 提高代码可维护性,避免硬编码状态描述
This commit is contained in:
@@ -12,6 +12,8 @@ using Yi.Framework.AiHub.Application.Contracts.IServices;
|
|||||||
using Volo.Abp;
|
using Volo.Abp;
|
||||||
using Yi.Framework.AiHub.Domain.Entities.Pay;
|
using Yi.Framework.AiHub.Domain.Entities.Pay;
|
||||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
namespace Yi.Framework.AiHub.Application.Services;
|
namespace Yi.Framework.AiHub.Application.Services;
|
||||||
|
|
||||||
@@ -147,15 +149,9 @@ public class PayService : ApplicationService, IPayService
|
|||||||
/// <returns>状态描述</returns>
|
/// <returns>状态描述</returns>
|
||||||
private string GetTradeStatusDescription(TradeStatusEnum tradeStatus)
|
private string GetTradeStatusDescription(TradeStatusEnum tradeStatus)
|
||||||
{
|
{
|
||||||
return tradeStatus switch
|
var fieldInfo = tradeStatus.GetType().GetField(tradeStatus.ToString());
|
||||||
{
|
var descriptionAttribute = fieldInfo?.GetCustomAttribute<DescriptionAttribute>();
|
||||||
TradeStatusEnum.WAIT_TRADE => "准备发起",
|
return descriptionAttribute?.Description ?? "未知状态";
|
||||||
TradeStatusEnum.WAIT_BUYER_PAY => "等待买家付款",
|
|
||||||
TradeStatusEnum.TRADE_SUCCESS => "交易成功",
|
|
||||||
TradeStatusEnum.TRADE_FINISHED => "交易结束",
|
|
||||||
TradeStatusEnum.TRADE_CLOSED => "交易关闭",
|
|
||||||
_ => "未知状态"
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -165,13 +161,10 @@ public class PayService : ApplicationService, IPayService
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private TradeStatusEnum ParseTradeStatus(string tradeStatus)
|
private TradeStatusEnum ParseTradeStatus(string tradeStatus)
|
||||||
{
|
{
|
||||||
return tradeStatus switch
|
if (Enum.TryParse<TradeStatusEnum>(tradeStatus, out var result))
|
||||||
{
|
{
|
||||||
"WAIT_BUYER_PAY" => TradeStatusEnum.WAIT_BUYER_PAY,
|
return result;
|
||||||
"TRADE_SUCCESS" => TradeStatusEnum.TRADE_SUCCESS,
|
}
|
||||||
"TRADE_FINISHED" => TradeStatusEnum.TRADE_FINISHED,
|
return TradeStatusEnum.WAIT_TRADE;
|
||||||
"TRADE_CLOSED" => TradeStatusEnum.TRADE_CLOSED,
|
|
||||||
_ => TradeStatusEnum.WAIT_TRADE
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,29 +1,36 @@
|
|||||||
namespace Yi.Framework.AiHub.Domain.Shared.Enums;
|
using System.ComponentModel;
|
||||||
|
|
||||||
|
namespace Yi.Framework.AiHub.Domain.Shared.Enums;
|
||||||
|
|
||||||
public enum TradeStatusEnum
|
public enum TradeStatusEnum
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 准备发起
|
/// 准备发起
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Description("准备发起")]
|
||||||
WAIT_TRADE = 0,
|
WAIT_TRADE = 0,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 交易创建
|
/// 交易创建
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Description("等待买家付款")]
|
||||||
WAIT_BUYER_PAY = 10,
|
WAIT_BUYER_PAY = 10,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 交易关闭
|
/// 交易关闭
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Description("交易关闭")]
|
||||||
TRADE_CLOSED = 20,
|
TRADE_CLOSED = 20,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 交易成功
|
/// 交易成功
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Description("交易成功")]
|
||||||
TRADE_SUCCESS = 100,
|
TRADE_SUCCESS = 100,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 交易结束
|
/// 交易结束
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Description("交易结束")]
|
||||||
TRADE_FINISHED = -10
|
TRADE_FINISHED = -10
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user