package com.xhpc.order.mapper;

import com.xhpc.order.domain.XhpcHistoryOrderSortingStatus;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 历史订单对账状态信息 数据层
 *
 * @author ruoyi
 */
public interface XhpcHistoryOrderSortingStatusMapper {

    /**
     * 新增 历史订单对账状态信息
     *
     * @param xhpcHistoryOrderSortingStatus 历史订单对账状态信息
     * @return 结果
     */
    public int insert(XhpcHistoryOrderSortingStatus xhpcHistoryOrderSortingStatus);

    /**
     * 更新 历史订单对账状态信息
     *
     * @param xhpcHistoryOrderSortingStatus 历史订单对账状态信息
     * @return 结果
     */
    public int update(XhpcHistoryOrderSortingStatus xhpcHistoryOrderSortingStatus);

    /**
     * 运营商用户信息
     *
     * @param userId
     * @param operatorId
     * @param chargingStation
     * @return 结果
     */
    public Map<String, Object> operatorUser(@Param("userId") Long userId, @Param("operatorId") String operatorId, @Param("chargingStation") String chargingStation);

    /**
     * 运营商清分分页列表
     *
     * @param userId              用户id
     * @param serialNumber        订单编号
     * @param createTimeStart     创建开始时间
     * @param createTimeEnd       创建结束时间
     * @param chargingStationName 电站名称
     * @param status              状态
     * @param operatorId          运营商id
     * @param status              状态
     * @param chargingStation     电站
     * @return 结果
     */
    public List<Map<String, Object>> page(@Param("userId") Long userId, @Param("serialNumber") String serialNumber, @Param("createTimeStart") String createTimeStart, @Param("createTimeEnd") String createTimeEnd, @Param("chargingStationName") String chargingStationName, @Param("status") String status, @Param("operatorId") String operatorId, @Param("chargingStation") String chargingStation);

    /**
     * 对账详情
     *
     * @param historyOrderId 历史订单id
     * @return
     */
    public Map<String, Object> info(@Param("historyOrderId") Long historyOrderId);
}
