package com.ruoyi.member.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.ruoyi.member.domain.MemberOrder;
import com.ruoyi.member.vo.MemberOrderVO;

/**
 * 订单Service接口
 *
 * @author pqz
 * @date 2025-03-17
 */
public interface IMemberOrderService extends IService<MemberOrder> {

    /**
     * 分页查询订单列表
     *
     * @param memberOrder {@link MemberOrderVO}
     * @param page        分页参数
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.ruoyi.member.vo.MemberOrderVO>
     * @author PQZ
     * @date 15:25 2025/3/25
     **/
    IPage<MemberOrderVO> queryListPage(MemberOrderVO memberOrder, Page<MemberOrder> page);

    /**
     * 订单支付回调
     *
     * @param orderNo 订单编号
     * @author PQZ
     * @date 14:02 2025/3/26
     **/
    void payCallback(String orderNo);

    /**
     * 保存订单并吊起支付
     * @author PQZ
     * @date 14:02 2025/4/8
     * @param memberOrder {@link MemberOrder}
    **/
    String saveOrder(MemberOrder memberOrder);
}
