feat: 支付完成后自动为用户充值VIP并支持按商品类型计算有效期

This commit is contained in:
ccnetcore
2025-08-13 22:19:31 +08:00
parent 3a60bcc174
commit 40c0a5ac64
8 changed files with 98 additions and 24 deletions

View File

@@ -69,7 +69,7 @@ public class PayManager : DomainService
/// <param name="tradeStatus">交易状态</param>
/// <param name="tradeNo">支付宝交易号</param>
/// <returns></returns>
public async Task UpdateOrderStatusAsync(string outTradeNo, TradeStatusEnum tradeStatus, string? tradeNo = null)
public async Task<PayOrderAggregateRoot> UpdateOrderStatusAsync(string outTradeNo, TradeStatusEnum tradeStatus, string? tradeNo = null)
{
var order = await _payOrderRepository.GetFirstAsync(x => x.OutTradeNo == outTradeNo);
if (order == null)
@@ -84,6 +84,7 @@ public class PayManager : DomainService
}
await _payOrderRepository.UpdateAsync(order);
return order;
}
@@ -128,13 +129,10 @@ public class PayManager : DomainService
/// <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;
}
}