using MiAssessment.Model.Entities;
namespace MiAssessment.Core.Interfaces;
///
/// 支付奖励处理器接口
/// 用于处理支付成功后的奖励发放逻辑
///
public interface IPaymentRewardHandler
{
///
/// 处理的订单类型
///
string OrderType { get; }
///
/// 处理奖励发放
///
/// 支付订单
/// 奖励处理结果
Task ProcessRewardAsync(PaymentOrder order);
}
///
/// 奖励处理结果
///
public class RewardResult
{
///
/// 是否成功
///
public bool Success { get; set; }
///
/// 消息(成功时为空,失败时为错误原因)
///
public string? Message { get; set; }
///
/// 奖励数据(JSON格式)
///
public string? RewardData { get; set; }
///
/// 创建成功结果
///
/// 奖励数据
/// 成功结果
public static RewardResult Ok(string? rewardData = null)
{
return new RewardResult
{
Success = true,
RewardData = rewardData
};
}
///
/// 创建失败结果
///
/// 错误消息
/// 失败结果
public static RewardResult Fail(string message)
{
return new RewardResult
{
Success = false,
Message = message
};
}
}