package com.zsElectric.boot.business.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zsElectric.boot.business.model.query.StationInfoQuery;
import com.zsElectric.boot.business.model.vo.AppletConnectorListVO;
import com.zsElectric.boot.business.model.vo.AppletStationDetailVO;
import com.zsElectric.boot.business.model.vo.AppletStationPriceListVO;
import com.zsElectric.boot.business.model.vo.BannerInfoVO;
import com.zsElectric.boot.business.model.vo.StationInfoMapVO;
import com.zsElectric.boot.business.model.vo.StationInfoVO;

import java.math.BigDecimal;
import java.util.List;

public interface AppletHomeService {

    /**
     * 用户端分页查询站点信息
     * */
    IPage<StationInfoVO> getStationInfoPage(StationInfoQuery queryParams);

    /**
     * 首页地图模式-获取站点列表（按距离排序）
     * */
    List<StationInfoMapVO> getStationInfoMapList(BigDecimal longitude, BigDecimal latitude);

    /**
     * 获取启用状态的Banner列表
     * @return Banner列表
     */
    List<BannerInfoVO> getBannerList();

    /**
     * 获取电站详情
     * @param stationId 站点ID
     * @param longitude 经度（用于计算距离）
     * @param latitude 纬度（用于计算距离）
     * @return 电站详情
     */
    AppletStationDetailVO getStationDetail(Long stationId, BigDecimal longitude, BigDecimal latitude);

    /**
     * 获取电站充电终端列表
     * @param stationId 站点ID
     * @return 充电终端列表
     */
    AppletConnectorListVO getConnectorList(Long stationId);

    /**
     * 获取电站价格列表
     * @param stationId 站点ID
     * @return 价格列表
     */
    AppletStationPriceListVO getStationPriceList(Long stationId);
}
