fengling-risk-control/Fengling.RiskControl.Application/Services/IOrderRiskValidationService.cs

24 lines
760 B
C#

namespace Fengling.RiskControl.Application.Services;
public record OrderDiscountValidationRequest
{
public long MemberId { get; init; }
public string OrderId { get; init; } = string.Empty;
public int DiscountAmount { get; init; }
public int OriginalAmount { get; init; }
public string DiscountType { get; init; } = string.Empty;
}
public record OrderDiscountValidationResult
{
public bool IsAllowed { get; init; }
public string Reason { get; init; } = string.Empty;
public int MaxDiscountAllowed { get; init; }
public RiskEvaluationResult? RiskDetails { get; init; }
}
public interface IOrderRiskValidationService
{
Task<OrderDiscountValidationResult> ValidateDiscountAsync(OrderDiscountValidationRequest request);
}