package com.zcloud.basic.info.command.convertor;

import com.zcloud.basic.info.domain.model.CorpDepartmentE;
import com.zcloud.basic.info.domain.model.DepartmentE;
import com.zcloud.basic.info.dto.clientobject.*;
import com.zcloud.basic.info.persistence.dataobject.CorpFormDO;
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.dataobject.UserCorpInfoDO;
import com.zcloud.gbscommon.zcloudcorp.response.ZcloudCorpInfoCO;
import org.mapstruct.Mapper;

import java.util.List;


/**
 * web-app
 *
 * @Author zhaokai
 * @Date 2025-10-29 16:02:16
 */
@Mapper(componentModel = "spring")
public interface CorpInfoCoConvertor {
    /**
     * @param corpInfoDOs
     * @return
     */
    List<CorpInfoCO> converDOsToCOs(List<CorpInfoDO> corpInfoDOs);

    List<CorpDepartmentE> converDOsToCorpDepartCOs(List<CorpInfoDO> data);

    List<DepartmentE> converDOsToDepartE(List<DepartmentDO> list);

    List<CorpDepartmentCO> converCorpInfoToCorpDepartCOs(List<CorpDepartmentE> corpInfoList);

    List<ZcloudCorpInfoCO> converCOsToDubboCOs(List<CorpInfoCO> data);

    List<CorpUserMiddleCO> converDOsToMiddleCOs(List<CorpInfoDO> data);

    List<CorpInfoXgfItemCO> converDOsToItemCOs(List<CorpFormDO> corpFormDOS);

    List<UserCorpInfoCO> converUserInfoDOsToCOs(List<UserCorpInfoDO> userCorpDOS);
}

