24 lines
760 B
C#
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);
|
|
}
|