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

import com.jeesharp.business.modules.finance.merchantsettle.vo.MerchantSettleConfigSnapshotVO;
import com.jeesharp.business.modules.finance.merchantsettle.vo.PaySettleResolveVO;

import java.util.List;

/**
 * 商户结算配置跨模块 API：供商城、支付模块读取结算模式与佣金，勿直接依赖 Application 实现类。
 *
 * @author jeesharp
 * @since 2026-06-11
 */
public interface MerchantSettleConfigApi {

    /**
     * 按商户租户解析结算快照（无配置时默认平台代收、佣金 0）。
     */
    MerchantSettleConfigSnapshotVO resolveSnapshot(String merchantTenantId);

    /**
     * 批量租户中是否存在需微信分账标记的商户。
     */
    boolean anyNeedProfitSharing(List<String> merchantTenantIds);

    /**
     * 按涉及商户租户解析整笔支付的结算模式（合并支付时任一商户分账则整笔标记分账）。
     */
    PaySettleResolveVO resolvePaySettle(List<String> merchantTenantIds);
}
