package cn.iocoder.yudao.module.basic.convert.goodsinfo;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.basic.api.goodsinfo.dto.GoodsInfoRespDTO;
import cn.iocoder.yudao.module.basic.controller.admin.goodsinfo.vo.GoodsInfoCreateReqVO;
import cn.iocoder.yudao.module.basic.controller.admin.goodsinfo.vo.GoodsInfoRespVO;
import cn.iocoder.yudao.module.basic.controller.admin.goodsinfo.vo.GoodsInfoUpdateReqVO;
import cn.iocoder.yudao.module.basic.dal.dataobject.goodsinfo.GoodsInfoDO;

import cn.iocoder.yudao.module.basic.api.redis.dto.GoodsInfoDTO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 商品 Convert
 *
 * @author 芋道源码
 */
@Mapper
public interface GoodsInfoConvert {

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

    GoodsInfoDO convert(GoodsInfoCreateReqVO bean);

    GoodsInfoDO convert(GoodsInfoUpdateReqVO bean);

    GoodsInfoRespVO convert(GoodsInfoDO bean);

    List<GoodsInfoRespVO> convertList(List<GoodsInfoDO> list);

    PageResult<GoodsInfoRespVO> convertPage(PageResult<GoodsInfoDO> page);

    List<GoodsInfoRespDTO> convertToDTOList(List<GoodsInfoDO> list);

    GoodsInfoDTO convertToDTO(GoodsInfoDO bean);

    List<GoodsInfoDTO> convertToGoodsInfoDTOList(List<GoodsInfoDO> list);
}
