package com.wzj.soopin.order.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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);

    IPage<OrderVO> getlist(Page<Order> page, OrderBo query);

    Order  getByNo(String orderNo);

    OrderVO saveOrder(SaveOrderBO saveOrderBO);

    void cancel(Long orderId);

    void refund(RefundBO refundBO);
}
