package com.yida.data.device.consume.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yida.data.common.core.entity.consume.EduConsumeOrder;
import com.yida.data.device.dto.consume.ConsumeOrderPageDTO;
import com.yida.data.device.vo.consume.ConsumeOrderPageVO;

import javax.servlet.http.HttpServletRequest;

/**
 * 消费订单(充值记录)Service接口
 *
 * @author ZYJ
 * @date 2023/3/23
 */
public interface EduConsumeOrderService extends IService<EduConsumeOrder> {

    /**
     * 收钱吧支付通知结果回调
     *
     * @param result  回调值
     * @param request 请求信息
     * @return java.lang.String
     * @author ZYJ
     * @date 2023/3/23 16:13
     */
    String uPayNotify(String result, HttpServletRequest request);

    /**
     * 更新超时订单状态
     *
     * @author ZYJ
     * @date 2023/4/3 13:26
     */
    void updateOrderStatus();


    /**
     * 更新退款订单状态
     *
     * @author ZYJ
     * @date 2023/4/3 13:26
     */
    void updateRefundStatus();

    /**
     * 消费订单列表分页查询
     *
     * @param dto 消费订单后台列表请求类
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.yida.data.device.vo.consume.ConsumeOrderPageVO>
     * @author ZYJ
     * @date 2023/4/14 16:48
     */
    Page<ConsumeOrderPageVO> listConsumeOrderPage(ConsumeOrderPageDTO dto);

    /**
     * 消费订单退款
     *
     * @param orderCode 订单号
     * @author ZYJ
     * @date 2023/4/15 15:37
     */
    void refundOrder(String orderCode);
}
