package cn.superdesk.uniorder.dubbo.facade.operationCenter.payment;

import cn.superdesk.uniorder.common.exception.UnifiedOrderRuntimeException;
import cn.superdesk.uniorder.common.rest.response.R;
import cn.superdesk.uniorder.dto.param.operationCenter.operators.OperationCenterPaymentCustomerParam;
import cn.superdesk.uniorder.dto.param.operationCenter.payment.OperationCenterPayParam;
import cn.superdesk.uniorder.dto.param.operationCenter.payment.OperationCenterPaymentParam;
import cn.superdesk.uniorder.dto.vo.operationCenter.base.OperationCenterVo;
import cn.superdesk.uniorder.dto.vo.operationCenter.payment.OperationCenterPaymentVo;

import java.util.List;

/**
 * @Author : zx
 * @Create : 2023/3/29 11:57
 * Description :
 */
public interface DubboOperationCenterPaymentService {
    R<String> addOrUpdateOperationCenterPayment(OperationCenterPaymentParam param, Long userId);

    R<List<OperationCenterPaymentVo>> getOperationCenterPaymentList(OperationCenterPayParam param);

    OperationCenterPaymentParam getPaymentById(Long id);



    void linkCustomer(OperationCenterPaymentCustomerParam param, Long userId) throws UnifiedOrderRuntimeException;

    List<OperationCenterVo> getPaymentByCustomerId(Long customerId);

    R<OperationCenterPaymentCustomerParam> linkCustomerByPaymentId (String paymentId) throws UnifiedOrderRuntimeException;
}
