feat(M08-A): 增加权益可视化选择器

This commit is contained in:
Codex
2026-06-25 23:05:11 +08:00
parent 59c4ef330e
commit 47016744d4
11 changed files with 249 additions and 17 deletions
+7 -1
View File
@@ -120,7 +120,8 @@ export class PricingRepository {
quote = this.calculate(room, {
...input,
adjustment: {
discountCents: benefitReservation.discountCents,
discountCents: benefitReservation.discountCents
+ timeCouponDiscountCents(benefitReservation.minutes, quote.unitPriceCents),
packageCreditCents: benefitReservation.packageCreditCents
}
}, isHoliday);
@@ -373,6 +374,11 @@ function clampAdjustment(value: number | undefined, maximum: number) {
return Math.min(Math.trunc(value), maximum);
}
function timeCouponDiscountCents(minutes: number | undefined, unitPriceCents: number) {
if (!minutes || minutes <= 0) return 0;
return Math.ceil(minutes / 60) * unitPriceCents;
}
function localDateKey(date: Date, timezone: string) {
return new Intl.DateTimeFormat('en-CA', {
timeZone: timezone, year: 'numeric', month: '2-digit', day: '2-digit'