package com.jeesharp.business.pay.support;

/**
 * 杏花村 C 端微信支付成功回调统一相对路径（与 {@code notifyBaseUrl} 拼接为完整 {@code notify_url}）。
 *
 * <p>完整 URL 示例：{@code https://{domain}/mobile}{@link #UNIFIED_RELATIVE_PATH}。</p>
 *
 * @author jeesharp
 * @since 2026-06-29
 */
public final class WechatTravelPayNotifySupport {

    /**
     * 支付成功统一回调相对路径（不含 {@code /mobile} 前缀；前缀由 {@code pay_wechat_config.notify_base_url} 提供）。
     */
    public static final String UNIFIED_RELATIVE_PATH = "/pay/notify/wechat";

    /**
     * 退款成功统一回调相对路径（对应 {@code MallRefundNotifyMobileController}）。
     */
    public static final String REFUND_RELATIVE_PATH = "/order/pay/notify/wechat/refund";

    private WechatTravelPayNotifySupport() {
    }

    /**
     * 拼接完整回调地址。
     */
    public static String buildNotifyUrl(String notifyBaseUrl) {
        return buildNotifyUrl(notifyBaseUrl, UNIFIED_RELATIVE_PATH);
    }

    public static String buildRefundNotifyUrl(String notifyBaseUrl) {
        return buildNotifyUrl(notifyBaseUrl, REFUND_RELATIVE_PATH);
    }

    private static String buildNotifyUrl(String notifyBaseUrl, String relativePath) {
        if (notifyBaseUrl == null || notifyBaseUrl.isBlank()) {
            return "";
        }
        return notifyBaseUrl.replaceAll("/+$", "") + relativePath;
    }
}
