package cn.iocoder.yudao.module.order.convert.orderItem;

import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.order.vo.orderWarehouseIn.OrderWarehouseInBackVO;
import cn.iocoder.yudao.module.order.vo.orderWarehouseIn.OrderWarehouseInCreateReqVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import cn.iocoder.yudao.module.order.vo.orderItem.*;
import cn.iocoder.yudao.module.order.dal.dataobject.orderItem.OrderItemDO;

/**
 * 订单项 Convert
 * @author 系统管理员
 */
@Mapper
public interface OrderItemConvert {
    /*****转换MapStruct*****/
    OrderItemConvert INSTANCE = Mappers.getMapper(OrderItemConvert.class);

    /***
     * 创建VO转实体
     * @param bean
     * @return
     */
    OrderItemDO convert(OrderItemCreateReqVO bean);

    OrderItemDO convert(OrderItemBackVO bean);

    /***
     * 修改VO转实体
     * @param bean
     * @return
     */
    OrderItemDO convert(OrderItemUpdateReqVO bean);

    /***
     * 实体转修改VO
     * @param bean
     * @return
     */
    OrderItemUpdateReqVO convert1(OrderItemDO bean);

    /***
     * 实体转返回VO
     * @param bean
     * @return
    */
    OrderItemBackVO convert(OrderItemDO bean);
    OrderWarehouseInBackVO convertToOrderWarehouseInBackVo(OrderItemDO bean);

    OrderWarehouseInCreateReqVO convertToOrderWarehouseInCreateReqVO(OrderItemDO bean);

    /***
     * 实体列表转返回VO列表
     * @param list
     * @return
     */
    List<OrderItemBackVO> convertList(List<OrderItemDO> list);

    List<OrderItemDO> convertList1(List<OrderItemBackVO> list);

    /***
     * 实体分页转返回分页
     * @param page
     * @return
     */
    PageResult<OrderItemBackVO> convertPage(PageResult<OrderItemDO> page);
}
