package com.xinelu.applet.service.wechatpaymentinfo;

import com.xinelu.applet.vo.wechatpaymentinfo.dto.CloseOrderDTO;
import com.xinelu.applet.vo.wechatpaymentinfo.dto.RefundDTO;
import com.xinelu.applet.vo.wechatpaymentinfo.vo.WeChatRefundInfoVO;
import com.xinelu.common.core.domain.AjaxResult;

/**
 * @Description 微信退款业务层
 * @Author 纪寒
 * @Date 2022-10-24 15:22:49
 * @Version 1.0
 */
public interface WeChatRefundService {

    /**
     * 微信确认退款接口
     *
     * @param refundDTO 退款参数
     * @return 返回信息
     */
    AjaxResult weChatRefundOrderApply(RefundDTO refundDTO);

    /**
     * 调用微信查询单笔退款接口查询预约订单状态信息
     *
     * @param refundNo 退款单号
     * @return 退款信息
     */
    WeChatRefundInfoVO queryAppointmentOrderRefundStatus(String refundNo);

    /**
     * 调用微信查询单笔退款接口查询商品订单状态信息
     *
     * @param refundNo  退单编号
     * @param buySource 购买来源
     * @return 退款信息
     */
    WeChatRefundInfoVO queryGoodsOrderRefundStatus(String refundNo, String buySource);

    /**
     * 专家咨询订单-医生端App拒单接口
     *
     * @param closeOrderDTO 订单关闭参数
     * @return 返回信息
     */
    AjaxResult closeHealthConsultationOrder(CloseOrderDTO closeOrderDTO);
}
