package com.jeesharp.business.modules.pay.paywechatconfig.service;

import com.jeesharp.business.modules.pay.paywechatconfig.entity.PayWechatConfig;
import com.jeesharp.business.modules.pay.paywechatconfig.vo.PayWechatConfigQueryVO;
import com.jeesharp.framework.mybatis.core.service.BaseInterface;

/**
 * 微信支付配置领域服务接口。
 *
 * @author jeesharp
 * @since 2026-05-25
 */
public interface PayWechatConfigService extends BaseInterface<PayWechatConfig, PayWechatConfigQueryVO> {

    /**
     * 租户优先获取生效配置；tenantId 为空时仅查平台级。
     */
    PayWechatConfig findActive(String tenantId);

    PayWechatConfig findByConfigCode(String configCode, String tenantId);

    /**
     * 按渠道主表主键查微信子配置（一对一）。
     */
    PayWechatConfig findByChannelConfigId(String channelConfigId);

    void disableOtherActiveExcept(String tenantId, String keepId);
}
