package com.cyksj.service.mange;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cyksj.model.entity.OrderDon;
import com.cyksj.model.entity.OrderDonTransport;
import com.cyksj.model.entity.OrderDonWaybill;
import com.cyksj.model.excel.ExcelOrderDonInfo;
import com.cyksj.model.manage.request.ReqSetLogisticsPost;
import com.cyksj.model.request.ChangeRelationReq;
import com.cyksj.model.request.ClickOutReq;
import com.cyksj.model.request.OrderBalanceRefundReq;
import com.cyksj.model.request.OrderRefundReq;

import java.util.List;
import java.util.Map;

/**
 * @author chan
 * @date 2021/10/25 下午10:14
 */
public interface CmsOrderDonService extends IService<OrderDon> {

    /**
     * 导出报名信息
     */
    List<ExcelOrderDonInfo> exportOrderInfo(Long promotionId, String start, String end);

    OrderDonTransport getTransport(Long orderId);

    OrderDonWaybill setWaybill(ReqSetLogisticsPost reqSetLogisticsPost);

	void kickOutRelationId(long adminId, ClickOutReq req);

	/**
	 * 订单统一退款
	 */
	void unifiedRefund(OrderRefundReq refundReq) throws Exception;
	/**
	 * 套餐订单统一退款
	 */
	void unifiedUpgradeRefund(OrderRefundReq refundReq) throws Exception;

	/**
	 * 微信退款回调
	 */
	void wxRefundNotify(Map<String, String> map) throws Exception;

	/**
	 * 更换车票
	 */
	void changeRelation(ChangeRelationReq req) throws Exception;

	/**
	 *
	 * @param orderRefundReq
	 */
	void refundPriceDiffer(OrderRefundReq orderRefundReq) throws Exception;

	void clearBalanceToRefundMoney(OrderBalanceRefundReq refundReq) throws Exception;
}
