shinnosuke
2026-08-06 01c24fe61539b26a0aedb7aa324e1526983fa6e0
fix(portal): 正确展示订单补贴金额 (bug #24116)
2个文件已修改
6 ■■■■■ 已修改文件
rencaika/pages/payment-confirm/payment-confirm.uvue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/portal/PortalService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rencaika/pages/payment-confirm/payment-confirm.uvue
@@ -32,7 +32,7 @@
                    <view class="price-item"><text class="price-label">原价</text><text class="price-value">¥ {{originalAmountText}}</text></view>
                    <view class="price-item"><text class="price-label">总优惠金额</text><text class="price-value">-¥ {{discountAmountText}}</text></view>
                    <view class="price-item"><text class="price-label">用户实付</text><text class="price-value strong">¥ {{actualPayAmountText}}</text></view>
                    <view class="price-item"><text class="price-label">补贴金额</text><text class="price-value">¥ {{discountAmountText}}</text></view>
                    <view class="price-item"><text class="price-label">补贴金额</text><text class="price-value">¥ {{subsidyAmountText}}</text></view>
                </view>
                <view class="actual-payment">
@@ -74,6 +74,7 @@
    const salePriceText = computed(() => salePrice.value.toFixed(2))
    const originalAmountText = computed(() => originalAmount.value.toFixed(2))
    const discountAmountText = ref('0.00')
    const subsidyAmountText = ref('0.00')
    const actualPayAmountText = ref('0.00')
    const createOrderIdempotencyKey = ref('')
    let quoteSequence = 0
@@ -145,6 +146,7 @@
            couponText.value = data.couponLabel != null ? data.couponLabel as string : '无'
            productDiscount.value = data.discountText != null ? data.discountText as string : productDiscount.value
            discountAmountText.value = toAmount(data.discountAmount).toFixed(2)
            subsidyAmountText.value = toAmount(data.subsidyAmount).toFixed(2)
            actualPayAmountText.value = toAmount(data.payAmount).toFixed(2)
        }, (error) => {
            if (sequence != quoteSequence) return
talent-card-server/src/main/java/com/talentcard/server/business/portal/PortalService.java
@@ -716,6 +716,7 @@
            result.put("couponAmount", BigDecimal.ZERO);
            result.put("discountAmount", originalAmount.subtract(productAmount).max(BigDecimal.ZERO));
            result.put("payAmount", productAmount);
            result.put("subsidyAmount", originalAmount.subtract(productAmount).max(BigDecimal.ZERO));
            return result;
        }
@@ -749,6 +750,7 @@
        result.put("couponAmount", couponAmount);
        result.put("discountAmount", originalAmount.subtract(productAmount).max(BigDecimal.ZERO).add(couponAmount));
        result.put("payAmount", productAmount.subtract(couponAmount).max(BigDecimal.ZERO));
        result.put("subsidyAmount", originalAmount.subtract(productAmount).max(BigDecimal.ZERO).add(couponAmount));
        return result;
    }