package com.xhpc.charging.station.mapper;

import com.xhpc.common.domain.*;
import org.apache.ibatis.annotations.Param;

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

/**
 * @author yuyang
 * @date 2022/2/22 13:47
 */
public interface XhpcTimingChargingModelMapper {

    List<Map<String, Object>> list(@Param("operatorId")Long operatorId,@Param("reason")String reason,@Param("status") Integer status,@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("chargingStationId") Long chargingStationId,@Param("logOperatorId")Long logOperatorId,@Param("type")Integer type,@Param("tenantId")String tenantId);

    int insertXhpcTimingChargingModel(XhpcTimingChargingModel xhpcTimingChargingModel);

    int insertXhpcTtimingChargingRate(XhpcTimingChargingRate xhpcTtimingChargingRate);

    int insertXhpcTimingChargingTime(XhpcTimingChargingTime xhpcTimingChargingTime);

    int insertXhpcTimingChargingCacheRateModel(XhpcTimingChargingCacheRateModel xhpcTimingChargingCacheRateModel);

    XhpcTimingChargingModel getXhpcTimingChargingModelById(@Param("timingChargingModelId")Long timingChargingModelId,@Param("tenantId")String tenantId);

    int updateXhpcTimingChargingModel(XhpcTimingChargingModel xhpcTimingChargingModel);

    int updateXhpcTtimingChargingRate(@Param("timingChargingModelId")Long timingChargingModelId);

    int updateXhpcTimingChargingTime(@Param("timingChargingModelId")Long timingChargingModelId);

    int updateXhpcTimingChargingCacheRateModel(@Param("timingChargingModelId")Long timingChargingModelId);

    List<Map<String, Object>> getXhpcTimingChargingRateList(@Param("timingChargingModelId") Long timingChargingModelId);

    List<Map<String, Object>> getXhpcTimingChargingTimeTypeList(@Param("timingChargingModelId") Long timingChargingModelId);

    Map<String, Object> getXhpcTimingChargingModelMapById(@Param("timingChargingModelId")Long timingChargingModelId,@Param("tenantId")String tenantId);

    List<XhpcTimingChargingCacheRateModel> getXhpcTimingChargingModelId();

    int insertXhpcRateModel(XhpcRateModel xhpcRateModel);

    List<XhpcTimingChargingRate> getRateTimingChargingModelId(@Param("timingChargingModelId") Long timingChargingModelId);

    List<XhpcTimingChargingTime> getTimeTimingChargingModelId(@Param("timingChargingModelId") Long timingChargingModelId);

}
