ソースを参照

feat: 百分比优惠券计算优惠金额

kotoyuuko 3 週間 前
コミット
70fd7d7e88
1 ファイル変更8 行追加3 行削除
  1. 8 3
      src/command/handlers/bookEvent.ts

+ 8 - 3
src/command/handlers/bookEvent.ts

@@ -77,9 +77,14 @@ export async function handleBookEvent(ctx: Context, env: Env): Promise<void> {
       if (coupons.length > 1) {
         const keyboard = new InlineKeyboard();
         coupons.forEach((coupon, index) => {
-          const discountText = coupon.type === 'percentage'
-            ? `${coupon.value}%`
-            : `¥${coupon.value}`;
+          let discountText: string;
+          if (coupon.type === 'percentage') {
+            const price = Number(selectedSlot.price);
+            const discountAmount = Math.round(price * Number(coupon.value) / 100);
+            discountText = `${coupon.value}% | ¥${discountAmount}`;
+          } else {
+            discountText = `¥${coupon.value}`;
+          }
           keyboard.text(
             `${coupon.code} (${discountText})`,
             `select_coupon_${eventId}_${slotIndex}_${coupon.code}`