package org.qinan.safetyeval.infrastructure.convertor;

import org.mapstruct.Mapper;
import org.qinan.safetyeval.client.change.request.QualFilingMaterialChangePageQry;
import org.qinan.safetyeval.client.change.response.QualFilingMaterialChangeCo;
import org.qinan.safetyeval.domain.change.model.QualFilingMaterialChangeE;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualFilingMaterialChangeDO;

import java.util.List;


/**
 * 备案申请材料-变更对象转换
 *
 * @Author: ltq
 * @date 2026-07-02 10:04:07
 */
@Mapper(componentModel = "spring")
public interface QualFilingMaterialChangeDoConvertor {
    /**
     * 领域对象转DO
     *
     * @param qualFilingMaterialChangeE
     * @return
     */
    QualFilingMaterialChangeDO convertEeToDo(QualFilingMaterialChangeE qualFilingMaterialChangeE);

    /**
     * DO转Co
     *
     * @param qualFilingMaterialChangeDo DO
     * @return
     */

    QualFilingMaterialChangeCo converDoToCo(QualFilingMaterialChangeDO qualFilingMaterialChangeDo);

    /**
     * qry TO DO
     *
     * @param qualFilingMaterialChangePageQry
     * @return
     */

    QualFilingMaterialChangeDO convertQryToDo(QualFilingMaterialChangePageQry qualFilingMaterialChangePageQry);

    /**
     * DOs转Cos
     *
     * @param qualFilingMaterialChangeDos dos
     * @return
     */
    List<QualFilingMaterialChangeCo> converDosToCos(List<QualFilingMaterialChangeDO> qualFilingMaterialChangeDos);

    /**
     * DO转领域对象
     */
    QualFilingMaterialChangeE converDoToEe(QualFilingMaterialChangeDO qualFilingMaterialChangeDO);

    /**
     * DOs转领域对象列表
     */
    List<QualFilingMaterialChangeE> converDosToEes(List<QualFilingMaterialChangeDO> qualFilingMaterialChangeDOs);
}
