package com.njyunzhi.pet_identity.service;

import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyV3Result;
import com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyV3Result;
import com.njyunzhi.pet_identity.entity.TaApplication;
import com.njyunzhi.pet_identity.entity.TaOrder;
import com.njyunzhi.pet_identity.entity.TaPerson;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author yansen
 * @since 2022-05-24
 */
public interface ITaOrderService extends IBaseService<TaOrder> {

    void notifyOrderPay(WxPayOrderNotifyV3Result.DecryptNotifyResult result) throws Exception;

    String createOrderNo() throws Exception;

    boolean refundByApplication(TaApplication taApplication) throws Exception;

    TaOrder createByApplication(TaPerson taPerson, TaApplication taApplication) throws Exception;

    void refundNotifyOrder(WxPayRefundNotifyV3Result.DecryptNotifyResult result) throws Exception;
}
