package com.jwipc.supplier.convert;

import com.jwipc.supplier.dto.SupplierInvitationListDTO;
import com.jwipc.supplier.dto.SupplierInvitationSaveDTO;
import com.jwipc.supplier.entity.Supplier;
import com.jwipc.supplier.entity.SupplierInvitaion;
import com.jwipc.supplier.model.po.SupplierInvitationListPO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.MappingTarget;
import org.mapstruct.Mappings;

import java.util.List;


@Mapper(componentModel = "spring")
public interface SupplierInvitaionConvert {
    List<SupplierInvitationListDTO> pos2Dtos(List<SupplierInvitationListPO> supplierInvitationListPOs);


    SupplierInvitaion dto2Entity(SupplierInvitationSaveDTO supplierInvitationSaveDTO);

    SupplierInvitationSaveDTO entity2Dto(SupplierInvitaion supplierInvitaion);

    @Mappings({
            @Mapping(target = "id", ignore = true),
            @Mapping(target = "shortName", ignore = true),
            @Mapping(target = "templateId", ignore = true),
            @Mapping( target = "createTime",ignore = true),
            @Mapping( target = "email",ignore = true),
            @Mapping(target = "purchaseGroupCode",ignore = true)
    })
    SupplierInvitationSaveDTO fillToDto(Supplier supplier,
                                        @MappingTarget SupplierInvitationSaveDTO supplierInvitationSaveDTO);

}
