package com.jeesharp.business.modules.member.api;

import com.jeesharp.business.modules.member.api.dto.MemberPointsBizOrderDTO;

/**
 * 订单支付/退款与会员积分生命周期跨模块 API；业态 Application 仅依赖本接口。
 *
 * @author jeesharp
 * @since 2026-06-24
 */
public interface MemberPointsOrderApi {

    /**
     * 支付成功后按 {@code ORDER_CONSUME} 规则发放积分（幂等）。
     *
     * @param bizScene   业务场景（{@link com.jeesharp.business.modules.finance.paymentrecord.enums.PayRecordBizSceneEnum}）
     * @param bizOrderId 业务主单 ID
     */
    void onOrderPaid(String bizScene, String bizOrderId);

    /**
     * 支付成功后发放积分（业态已组装订单摘要时可用）。
     */
    void onOrderPaid(MemberPointsBizOrderDTO orderDto);

    /**
     * 退款成功：冲正已发放的订单消费积分（幂等）。
     */
    void onOrderRefunded(String bizScene, String bizOrderId);
}
