@@ -33,14 +33,25 @@ export function validateMinPurchase(
|
||||
return { ok: true };
|
||||
}
|
||||
|
||||
export const DEFAULT_STORE_SETTLEMENT_RATE = 0.6;
|
||||
|
||||
export function resolveSettlementRate(raw: unknown): number {
|
||||
const n = Number(raw);
|
||||
return Number.isFinite(n) && n > 0 ? n : DEFAULT_STORE_SETTLEMENT_RATE;
|
||||
}
|
||||
|
||||
export function validateRedeemAmount(
|
||||
balance: number,
|
||||
amount: number,
|
||||
documentAmount?: number | null,
|
||||
): { ok: boolean; message?: string } {
|
||||
if (amount <= 0) return { ok: false, message: '核销金额必须大于 0' };
|
||||
if (amount > balance) return { ok: false, message: '核销金额不能超过可用余额' };
|
||||
if (documentAmount != null && amount > documentAmount) {
|
||||
if (!Number.isFinite(amount) || amount <= 0) {
|
||||
return { ok: false, message: '核销金额必须大于 0' };
|
||||
}
|
||||
if (!Number.isFinite(balance) || amount > balance) {
|
||||
return { ok: false, message: '核销金额不能超过可用余额' };
|
||||
}
|
||||
if (documentAmount != null && Number.isFinite(documentAmount) && amount > documentAmount) {
|
||||
return { ok: false, message: '核销金额不能超过该核销单可用金额' };
|
||||
}
|
||||
return { ok: true };
|
||||
|
||||
Reference in New Issue
Block a user