package com.docus.server.convert;

import com.docus.infrastructure.web.response.PageResult;
import com.docus.server.dto.scheduling.management.schcollectrecord.AddSchCollectRecordDTO;
import com.docus.server.dto.scheduling.management.schcollectrecord.EditSchCollectRecordDTO;
import com.docus.server.entity.scheduling.management.SchCollectRecord;
import com.docus.server.vo.scheduling.management.schcollectrecord.SchCollectRecordVO;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 采集记录表 服务转换器
 *
 * @author AutoGenerator
 * @since 2023-07-15
 */
@Mapper
public interface SchCollectRecordConvert {

    SchCollectRecordConvert INSTANCE = Mappers.getMapper(SchCollectRecordConvert.class);

    @Mappings({})
    SchCollectRecord convertDO(AddSchCollectRecordDTO addSchCollectRecordDTO);

    @Mappings({})
    SchCollectRecord convertDO(EditSchCollectRecordDTO editSchCollectRecordDTO, @MappingTarget SchCollectRecord schCollectRecord);

    @Mappings({})
    List<SchCollectRecord> convertAddDOList(List<AddSchCollectRecordDTO> addSchCollectRecordDTO);

    @Mappings({})
    List<SchCollectRecord> convertEditDOList(List<EditSchCollectRecordDTO> editSchCollectRecordDTO);

    @Mappings({})
    SchCollectRecordVO convertVO(SchCollectRecord schCollectRecord);

    @Mappings({})
    List<SchCollectRecordVO> convertVO(List<SchCollectRecord> schCollectRecordList);

    @Mappings({})
    PageResult<SchCollectRecordVO> convertVO(PageResult<SchCollectRecord> pageResult);
}

