package org.jeecg.modules.weituo.convert;

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 java.util.List;

/**
 * 敏感词 Convert
 *
 * @author 永不言败
 */
@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)

public interface WeituoConvert {

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

    ItdmWeituoInfo convert(WeituoInsertCommand convert);


    ItdmWeituoYangpin convert(WeituoInsertCommand.WeituoYangpin convert, String weituoId);

    ItdmWeituoYangpinExtend convert(WeituoInsertCommand.WeituoYangPinShiYan convert,String yangpinId,String weituoId);







    ItdmWeituoInfo convert(WeituoUpdateCommand convert);


    ItdmWeituoYangpin convert(WeituoUpdateCommand.WeituoYangpin convert, String weituoId);

    ItdmWeituoYangpinExtend convert(WeituoUpdateCommand.WeituoYangPinShiYan convert,String yangpinId,String weituoId);


    ItdmWeituoInfoInfoVO convert(String id);


    ItdmWeituoInfoInfoVO.WeituoInfoVO convert(ItdmWeituoInfo id);




    @Mapping(target = "key",source = "id")
    ItdmWeituoInfoInfoVO.WeituoYangpin convert(ItdmWeituoYangpin info);



    @Mapping(target = "key",source = "id")

    @Mapping(target = "yangpinKeyId",source = "yangpinId")
    ItdmWeituoInfoInfoVO.WeituoYangPinShiYan convert(ItdmWeituoYangpinExtend info);






    List<ItdmWeituoInfoInfoVO.WeituoYangpin> convertList(List<ItdmWeituoYangpin> info);

    List<ItdmWeituoInfoInfoVO.WeituoYangPinShiYan> convertShiyanList(List<ItdmWeituoYangpinExtend> info);
}
