package com.dora.mapper;

import com.dora.entity.RevenueConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 收益配置Mapper接口
 */
@Mapper
public interface RevenueConfigMapper {

    /**
     * 根据配置类型查询配置
     */
    List<RevenueConfig> selectByConfigType(@Param("configType") String configType);

    /**
     * 根据配置类型和等级查询配置
     */
    RevenueConfig selectByConfigTypeAndLevel(@Param("configType") String configType, 
                                           @Param("level") Integer level);

    /**
     * 查询下一个等级的配置
     */
    RevenueConfig selectNextLevelConfig(@Param("configType") String configType, 
                                      @Param("currentLevel") Integer currentLevel);

    /**
     * 插入收益配置
     */
    int insert(RevenueConfig revenueConfig);

    /**
     * 根据配置键更新配置
     */
    int updateByConfigKey(RevenueConfig revenueConfig);

    /**
     * 根据配置键查询配置
     */
    RevenueConfig selectByConfigKey(@Param("configKey") String configKey);

    /**
     * 查询所有收益配置
     */
    List<RevenueConfig> selectAll();
} 