package com.jsowell.pile.mapper;

import com.jsowell.pile.domain.PileStationInfo;
import com.jsowell.pile.dto.QueryStationDTO;
import com.jsowell.pile.vo.web.PileStationVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 充电站信息Mapper接口
 *
 * @author jsowell
 * @date 2022-08-30
 */
@Repository
public interface PileStationInfoMapper {
	/**
	 * 查询充电站信息
	 *
	 * @param id 充电站信息主键
	 * @return 充电站信息
	 */
	public PileStationInfo selectPileStationInfoById(Long id);

	/**
	 * 查询充电站信息列表
	 *
	 * @param pileStationInfo 充电站信息
	 * @return 充电站信息集合
	 */
	public List<PileStationInfo> selectPileStationInfoList(PileStationInfo pileStationInfo);

	/**
	 * 通过运营商id查询站点信息
	 *
	 * @param merchantId 运营商id
	 * @return 站点信息列表
	 */
	public List<PileStationInfo> selectStationListByMerchantId(Long merchantId);

	/**
	 * 新增充电站信息
	 *
	 * @param pileStationInfo 充电站信息
	 * @return 结果
	 */
	public int insertPileStationInfo(PileStationInfo pileStationInfo);

	/**
	 * 修改充电站信息
	 *
	 * @param pileStationInfo 充电站信息
	 * @return 结果
	 */
	public int updatePileStationInfo(PileStationInfo pileStationInfo);

	/**
	 * 批量删除充电站信息
	 *
	 * @param ids 需要删除的数据主键集合
	 * @return 结果
	 */
	public int deletePileStationInfoByIds(Long[] ids);

	/**
	 * 查询充电站信息
	 *
	 * @param dto 前台参数
	 * @return 充电站对象集合
	 */
	List<PileStationVO> queryStationInfos(@Param("stationDTO") QueryStationDTO dto);

	/**
	 * 查询充电站信息(联联平台,分页使用)
	 * @return
	 */
	List<PileStationInfo> getStationInfoForLianLian();

	List<String> queryByStationDeptIds(@Param("stationDeptIds") List<String> stationDeptIds);
}
