package com.bizzan.bitrade.dao;

import com.bizzan.bitrade.dao.base.BaseDao;
import com.bizzan.bitrade.entity.StakingConfig;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.List;

/**
 * 质押配置 DAO
 *
 * @author auto
 * @date 2026-05-17
 */
public interface StakingConfigDao extends BaseDao<StakingConfig> {

    /**
     * 查询指定状态的配置列表
     *
     * @param status 状态：0禁用 1启用
     * @return 配置列表
     */
    List<StakingConfig> findByStatus(Integer status);

    /**
     * 按币种查询启用中的配置
     *
     * @param coinUnit 币种单位
     * @return 启用配置
     */
    @Query("from StakingConfig where coinUnit = :coinUnit and status = 1")
    StakingConfig findEnabledByCoinUnit(@Param("coinUnit") String coinUnit);

    /**
     * 查询启用状态中 ID 最小的一条配置（IDO 预售默认产品）
     *
     * @param status 状态：1=启用
     * @return 最小 ID 的启用配置，无则 null
     */
    StakingConfig findFirstByStatusOrderByIdAsc(Integer status);
}
