package cn.iocoder.yudao.module.energy.service.record;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.energy.controller.admin.record.vo.HydrogenRecordImportPreviewVO;
import cn.iocoder.yudao.module.energy.controller.admin.record.vo.HydrogenRecordImportProgressVO;
import cn.iocoder.yudao.module.energy.controller.admin.record.vo.HydrogenRecordImportVO;
import cn.iocoder.yudao.module.energy.controller.admin.record.vo.HydrogenRecordPageReqVO;
import cn.iocoder.yudao.module.energy.controller.admin.record.vo.HydrogenRecordSaveReqVO;
import cn.iocoder.yudao.module.energy.dal.dataobject.record.EnergyHydrogenRecordDO;
import java.util.List;
import java.util.Map;

public interface HydrogenRecordService {
    Long createRecord(HydrogenRecordSaveReqVO createReqVO);
    void updateRecord(HydrogenRecordSaveReqVO updateReqVO);
    void deleteRecord(Long id);
    EnergyHydrogenRecordDO getRecord(Long id);
    PageResult<EnergyHydrogenRecordDO> getRecordPage(HydrogenRecordPageReqVO pageReqVO);
    Map<String, Integer> importRecords(Long stationId, List<HydrogenRecordImportVO> list, String batchNo);
    void matchRecord(Long id, Long vehicleId, Long customerId);
    Map<String, Integer> batchMatch();
    HydrogenRecordImportPreviewVO importPreview(Long stationId, List<HydrogenRecordImportVO> list);
    Map<String, Integer> importConfirm(String batchNo, String duplicateStrategy);
    HydrogenRecordImportProgressVO getImportProgress(String batchNo);
}
