package com.wzj.soopin.order.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wzj.soopin.order.domain.bo.OrderBo;
import com.wzj.soopin.order.domain.bo.RefundBO;
import com.wzj.soopin.order.domain.bo.SaveOrderBO;
import com.wzj.soopin.order.domain.entity.Order;
import com.wzj.soopin.order.domain.vo.ManagerOrderDetailVO;
import com.wzj.soopin.order.domain.vo.OrderOperateHistoryVO;
import com.wzj.soopin.order.domain.vo.OrderVO;
import org.dromara.common.core.domain.R;

import java.util.List;


public interface OrderService extends IService<Order> {

    ManagerOrderDetailVO selectById(Long id);

    R saveMerchantNote(Order order);

    List<OrderOperateHistoryVO> log(Long orderId);

    R decryptPhone(Long orderId);

    /**
     * 分页查询当前商铺的订单列表
     * @param page
     * @param query
     * @return
     */
    IPage<OrderVO> merchantOrderList(OrderBo query);

    /**
     * 分页查询当前团长绑定的会员的订单列表
     * @param page
     * @param query
     * @return
     */
    IPage<OrderVO> referenceMemberOrderList(OrderBo query);

    Order  getByNo(String orderNo);

    OrderVO saveOrder(SaveOrderBO saveOrderBO);

    void cancel(Long orderId);

    void refund(RefundBO refundBO);


}
