package com.cpop.mall.business.service;

import com.cpop.mall.business.bo.OrderRefundPageBo;
import com.cpop.mall.business.bo.OrderRejectRefundBo;
import com.cpop.mall.business.vo.OrderRefundPageVo;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.cpop.mall.business.entity.OrderRefund;

/**
 * 商城订单退款记录表 服务层。
 *
 * @author DB
 * @since 2023-10-24
 */
public interface OrderRefundService extends IService<OrderRefund> {

    /**
     * @descriptions 同意退款
     * @author DB
     * @date 2023/10/24 16:10
     * @param id 订单id
     * @return: void
     */
    void agreeRefund(String id);

    /**
     * @descriptions 拒绝退款
     * @author DB
     * @date 2023/10/24 16:13
     * @param bo 请求参数
     * @return: void
     */
    void rejectRefund(OrderRejectRefundBo bo);

    /**
     * @descriptions 商城退款列表
     * @author DB
     * @date 2023/10/27 17:34
     * @param bo 请求参数
     * @return: com.mybatisflex.core.paginate.Page<com.cpop.mall.business.vo.OrderRefundPageVo>
     */
    Page<OrderRefundPageVo> getOrderRefundPage(OrderRefundPageBo bo);

    /**
     * @descriptions 退款回调通知处理
     * @author DB
     * @date 2023/10/27 18:22
     * @param xmlData 请求数据
     * @return: void
     */
    void wxPayNotifyRefund(String xmlData);
}
