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

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.basic.api.dealerinfo.dto.DealerInfoRespDTO;
import cn.iocoder.yudao.module.basic.api.redis.dto.DealerInfoDTO;
import cn.iocoder.yudao.module.basic.controller.admin.dealerinfo.vo.DealerInfoCreateReqVO;
import cn.iocoder.yudao.module.basic.controller.admin.dealerinfo.vo.DealerInfoRespVO;
import cn.iocoder.yudao.module.basic.controller.admin.dealerinfo.vo.DealerInfoUpdateReqVO;
import cn.iocoder.yudao.module.basic.dal.dataobject.dealerinfo.DealerInfoDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 经销商 Convert
 *
 * @author 芋道源码
 */
@Mapper
public interface DealerInfoConvert {

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

    DealerInfoDO convert(DealerInfoCreateReqVO bean);

    DealerInfoDO convert(DealerInfoUpdateReqVO bean);

    DealerInfoRespDTO convertToDTO(DealerInfoDO bean);

    DealerInfoRespVO convert(DealerInfoDO bean);

    List<DealerInfoRespVO> convertList(List<DealerInfoDO> list);

    PageResult<DealerInfoRespVO> convertPage(PageResult<DealerInfoDO> page);

    DealerInfoDTO convertToDealerInfoDTO(DealerInfoDO dealerInfoDO);

    List<DealerInfoDTO> convertToDTOList(List<DealerInfoDO> list);
}
