package com.bonus.canteen.core.order.common.business;


import com.bonus.canteen.core.order.common.model.OrderDetail;
import com.bonus.canteen.core.order.common.model.OrderInfo;
import com.bonus.canteen.core.order.mq.po.OrderPlacedPO;
import com.bonus.canteen.core.pay.api.vo.UnifyPaySelectVO;
import com.bonus.canteen.core.pay.common.po.PayResultPO;

import java.util.List;

public interface OrderResultBusiness {
   UnifyPaySelectVO reSyncOrderPayResult(Long orderId);

//   UnifyRefundSelectVO reSyncOrderRefundResult(Long orderRefundId);

   String asyncPayResultHandler(PayResultPO payResultPO);
//
//   void asyncRefundResultHandler(RefundResultPO refundResultPO);
//
//   void asyncSaveHandler(OrderSavePO orderSavePO);
//
//   void asyncTradeTimeoutHandler(OrderCancelPO cancelPO);

   void orderDidFailedHandler(List<OrderInfo> orderInfoList, List<OrderDetail> orderDetailList, Integer payState, boolean orderExists);

//   void orderPlacedHandler(OrderPlacedPO paidPO);
//
//   void orderCanceledHandler(OrderCanceledPO cancelPO);
//
//   void orderRefundedHandler(OrderRefundPO refundPO);
//
//   void orderDishesStateUpdateHandler(OrderDishesStateUpdatePO stateUpdatePO);
//
//   void orderAddDishesHandler(OrderDishesEditPO orderDishesEditPO);
//
//   void orderRemoveDishesHandler(OrderDishesEditPO orderDishesEditPO);
}
