package com.casic.missiles.service.business;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.business.order.OrderCancelRequest;
import com.casic.missiles.dto.business.order.OrderListResponse;
import com.casic.missiles.dto.business.order.OrderListRequest;
import com.casic.missiles.dto.business.order.labIncomeResponse;
import com.casic.missiles.model.business.BusinessDealRecord;
import com.casic.missiles.model.business.BusinessOrder;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 业务管理-委托书 服务类
 * </p>
 *
 * @author wangpeng
 * @since 2023-02-02
 */
public interface IBusinessOrderService extends IService<BusinessOrder> {

    Page<OrderListResponse> orderListPage(Page<OrderListResponse> page, OrderListRequest request) throws Exception;

    BusinessOrder orderDetail(Long id);

    ReturnDTO updateOrder(BusinessOrder businessOrder) throws Exception;

    ReturnDTO addOrder(BusinessOrder businessOrder)throws Exception;

    void orderExport(OrderListRequest request, HttpServletResponse response);

    ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest,String status);

    ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest);

    List<BusinessDealRecord> optionRecord(Long id);

}
