package com.xunwang.payment.mapper;

import com.xunwang.payment.entity.InviteInfo;
import com.xunwang.payment.entity.OrderInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xunwang.payment.entity.dto.MyOrder;

import java.util.List;

/**
 * <p>
 * 订单表 Mapper 接口
 * </p>
 *
 * @author Long
 * @since 2023-02-23
 */
public interface OrderInfoMapper extends BaseMapper<OrderInfo> {

    /**
     * 根据邀请id查询邀请信息
     * @param inviteId
     * @return
     */
    InviteInfo selectInviteInfo(String inviteId);

    /**
     * 根据uid查询用户openid
     * @param uid
     * @return
     */
    String getOpenIdByUid(String uid);

    List<MyOrder> getMyOrderList(String openid);

    /**
     * 修改需求成交状态
     * @param requireId
     */
    void updateRequireStatus(String requireId);

    /**
     * 修改课程成交状态
     * @param courseId
     */
    void updateCourseStatus(String courseId);

    /**
     * 根据推荐人 uid 查询订单列表  未提现
     * @param recommendUid
     * @return
     */
    List<OrderInfo> getNotWithdrawOrderListByRecommendUid(String recommendUid);

    /**
     * 根据推荐人 uid 查询订单列表  已提现
     * @param recommendUid
     * @return
     */
    List<OrderInfo> getWithdrawOrderListByRecommendUid(String recommendUid);

    /**
     * 更新退款课程状态
     * @param courseId
     */
    void updateRefundCourseStatus(String courseId);

    /**
     * 更新退款需求状态
     * @param requireId
     */
    void updateRefundRequireStatus(String requireId);
}
