package com.gxwebsoft.websopy.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gxwebsoft.websopy.entity.AppConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * app_config（db_websopy）跨表查询 Mapper
 *
 * 注意：selectByCategory 标注了 @InterceptorIgnore(tenantLine = "true")
 * 因为 XML 中使用全限定表名 db_websopy.app_config，
 * TenantLineInnerInterceptor 会自动追加 tenant_id 条件导致参数重复。
 * 同时 app_config 的 tenant_id 与 gxwebsoft_core 不是同一套。
 *
 * @author WebSoft
 * @since 2026-06-17
 */
@Mapper
public interface AppConfigMapper extends BaseMapper<AppConfig> {

    /**
     * 跨表查询 db_websopy.app_config（按 config_type 分组）
     *
     * @param tenantId   租户ID（app_config 表中的 tenant_id）
     * @param configType 配置分类（如 wechat）
     * @return 配置项列表
     */
    @InterceptorIgnore(tenantLine = "true")
    List<AppConfig> selectByCategory(@Param("tenantId") Integer tenantId,
                                     @Param("configType") String configType);
}
