/*************     履约相关 proto 接口    ***************/


import {protoMiddleware} from "@/services/socket/protobuf/buildReq";
import {
    PerformanceActivateReq,
    PerformanceContractedApplyReq,
    PerformanceDelayApplyReq,
    PerformanceManualConfirmReq, PerformanceModifyContactReq
} from "@/services/proto/performance/interface";
import {HeadEnum} from "@/services/socket/protobuf/protoHeader";

/**
 * 履约手动确认 （支付 发票 发货）
 * @param param
 */
export const performanceManualConfirm = (param: PerformanceManualConfirmReq): Promise<any> => {
    return protoMiddleware<PerformanceManualConfirmReq>(param, 'PerformanceManualConfirmReq', 'PerformanceManualConfirmRsp', HeadEnum.tradeMode17)
}

/**
 * 延期申请
 * @param param
 */
export const performanceDelayApply = (param: PerformanceDelayApplyReq): Promise<any> => {
    return protoMiddleware<PerformanceDelayApplyReq>(param, 'PerformanceDelayApplyReq', 'PerformanceDelayApplyRsp', HeadEnum.tradeMode17)
}

/**
 * 违约申请
 * @param param
 */
export const performanceContractedApply = (param: PerformanceContractedApplyReq): Promise<any> => {
    return protoMiddleware<PerformanceContractedApplyReq>(param, 'PerformanceContractedApplyReq', 'PerformanceContractedApplyRsp', HeadEnum.tradeMode17)
}

/**
 * 履约修改联络信息
 * @param param
 */
export const performanceModifyContact = (param: PerformanceModifyContactReq): Promise<any> => {
    return protoMiddleware<PerformanceModifyContactReq>(param, 'PerformanceModifyContactReq', 'PerformanceModifyContactRsp', HeadEnum.tradeMode17)
}

/**
 * 履约激活请求
 * @param param
 */
export const performanceActivate = (param: PerformanceActivateReq):Promise<any> => {
    return protoMiddleware<PerformanceActivateReq>(param, 'PerformanceActivateReq', 'PerformanceActivateRsp', HeadEnum.tradeMode17)
}
