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

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.order.dal.dataobject.orderWarehouseApproval.OrderWarehouseApprovalDO;
import cn.iocoder.yudao.module.order.vo.orderWarehouseApproval.OrderWarehouseApprovalBackVO;
import cn.iocoder.yudao.module.order.vo.orderWarehouseApproval.OrderWarehouseApprovalCreateReqVO;
import cn.iocoder.yudao.module.order.vo.orderWarehouseApproval.OrderWarehouseApprovalUpdateReqVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 入仓单审核 Convert
 *
 * @author yanghao
 */
@Mapper
public interface OrderWarehouseApprovalConvert {
    /*****转换MapStruct*****/
    OrderWarehouseApprovalConvert INSTANCE = Mappers.getMapper(OrderWarehouseApprovalConvert.class);

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

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

    /***
     * 实体转返回VO
     * @param bean
     * @return
     */
    OrderWarehouseApprovalBackVO convert(OrderWarehouseApprovalDO bean);

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

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