package org.jeecg.modules.baogao.convert;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.baogao.dto.ItdmBaogaoCreateDTO;
import org.jeecg.modules.baogao.entity.ItdmBaogao;
import org.jeecg.modules.baogao.vo.ItdmBaogaoListVO;
import org.jeecg.modules.weituo.dto.WeituoInsertCommand;
import org.jeecg.modules.weituo.dto.WeituoUpdateCommand;
import org.jeecg.modules.weituo.entity.ItdmWeituoInfo;
import org.jeecg.modules.weituo.entity.ItdmWeituoYangpin;
import org.jeecg.modules.weituo.entity.ItdmWeituoYangpinExtend;
import org.jeecg.modules.weituo.vo.ItdmWeituoInfoInfoVO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;
import org.springframework.util.CollectionUtils;

import java.util.List;
import java.util.stream.Collectors;

/**
 * 敏感词 Convert
 *
 * @author 永不言败
 */
@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE,imports ={ CollectionUtils.class, Collectors.class})

public interface BaogaoConvert {

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


    ItdmBaogaoListVO convert(ItdmBaogao convert);


    @Mapping(target ="records",source ="results" )
    Page<ItdmBaogaoListVO> converter(Page<ItdmBaogao> page, List<ItdmBaogaoListVO> results);


    @Mapping(target = "sampleIds", expression = "java(dto!=null&&CollectionUtils.isEmpty(dto.getSampleIds())?" +
            "dto.getSampleIds().stream().collect(Collectors.joining(\",\")):\"\")")

    @Mapping(target = "testItemsIds", expression = "java(dto!=null&&CollectionUtils.isEmpty(dto.getTestItemsIds())?" +
            "dto.getTestItemsIds().stream().collect(Collectors.joining(\",\")):\"\")")
    ItdmBaogao convert(ItdmBaogaoCreateDTO dto);









}
