/**
 * @filename:PurchaseOrderService 2024-09-10
 * @project KJT v1.0.0 Copyright(c) 2024 wanglang Co. Ltd. All right reserved.
 */
package com.trade.service.order.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.trade.service.order.domain.PurchaseOrder;
import com.trade.service.order.dto.PurchaseOrderDto;
import com.trade.service.order.dto.PurchaseOrderLogisticsDto;
import com.trade.service.order.dto.PurchaseSearchDto;
import com.trade.service.order.vo.PurchaseOrderDetailsVo;
import com.trade.service.order.vo.PurchaseOrderVo;

import java.util.List;

/**
 * @Description:采购订单信息服务层
 * @version: v1.0.0
 * @author: wanglang
 */
public interface PurchaseOrderService extends IService<PurchaseOrder> {

    /**
     * 保存订单物流信息
     * 
     * @param purchaseOrderLogisticsDto
     * @return true/false
     */
    boolean saveOrderLogistics(PurchaseOrderLogisticsDto purchaseOrderLogisticsDto);

    /**
     * 保存订单
     * 
     * @param purchaseOrderDtos
     * @return true/false
     */
    boolean saveOrder(List<PurchaseOrderDto> purchaseOrderDtos);

    /**
     * 根据条件查询采购订单信息
     *
     * @param purchaseSearch
     * @return 采购订单信息
     */
    List<PurchaseOrderVo> selectByCondition(PurchaseSearchDto purchaseSearch);

    /**
     * 根据id查询订单详情
     * 
     * @param id 主键
     * @return 订单详情
     */
    PurchaseOrderDetailsVo getDetailsById(Long id);
}
