package com.xhpc.charging.station.service;

import com.xhpc.common.core.web.domain.AjaxResult;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * 终端Service接口
 *
 * @author yuyang
 * @date 2021-07-20
 */
public interface IXhpcTerminalService {


    /**
     * PC端页面统计(已作废)
     * @param chargingStationId 电站id
     * @return
     */
    public Map<String,Object> countXhpcTerminalWorkStatus(Long chargingStationId);

    /**
     * 列表接口
     */
    List<Map<String, Object>> getXhpcTerminalList(HttpServletRequest request, String serialNumber, Integer type, Integer status, String workStatus, Long chargingStationId);

    /**
     * 停用
     * @return
     */
    AjaxResult updateStatus(Long terminalId,Integer status,String prompt);

    AjaxResult updateStatusAll(Long chargingStationId,Integer status,String prompt);
    /**
     * 查询
     */
    AjaxResult selectXhpcTerminalMessage(Long terminalId);

    /**
     * 修改
     * @return
     */
    AjaxResult updateXhpcTerminalName(Long terminalId,String name,String serialNumber,int connectorType);

    /**
     * 终端详情
     */
    AjaxResult selectXhpcTerminalPileMessage(Long terminalId);


    /**
     * 通过终端编号进入小程序开始充电页面
     * @param pNum   终端编号
     * @return
     */
    AjaxResult getWXpNumMessage(String pNum);

    /**
     * 查询桩名称、场站名称、终端编号
     * @param terminalSerialNumber    搜索参数：终端名称
     * @param pileName                  搜索参数：桩名
     * @param stationName               搜索参数：站名
     * @return list
     */
    List<Map<String, Object>> getXhpcPileNameAndStationNameAndTerminalNumList(String terminalSerialNumber, String pileName, String stationName);

    /**
     * 根据电站获取终端的编号
     * @param chargingStationId
     * @param status             状态（0启用 1停用）
     * @return
     */
    List<String> getTerminal(Long chargingStationId,Integer status);

}
