package com.bizzan.bitrade.dao;

import com.bizzan.bitrade.constant.CommonStatus;
import com.bizzan.bitrade.entity.CoinNetwork;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 主网信息 DAO
 *
 * @author auto
 * @date 2026-05-13
 */
@Repository
public interface CoinNetworkDao extends JpaRepository<CoinNetwork, Long>, JpaSpecificationExecutor<CoinNetwork> {

    /**
     * 按状态查询主网列表，按排序值升序
     *
     * @param status 状态
     * @return 主网列表
     */
    List<CoinNetwork> findAllByStatusOrderBySortAsc(CommonStatus status);

    /**
     * 按名称查询主网
     *
     * @param name 主网名称
     * @return 主网信息
     */
    CoinNetwork findByName(String name);

    /**
     * 判断主网名称是否已存在
     *
     * @param name 主网名称
     * @return 是否存在
     */
    boolean existsByName(String name);

    List<CoinNetwork> findAllByOrderBySortAsc();
}
