| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- import { useApolloClient } from "@apollo/client/react";
- import {
- CREATE_PAYMENT_INITIATE,
- CREATE_PAYMENT_CALLBACK,
- CREATE_CANCEL_ORDER,
- CREATE_PAYMENT_REPLAY
- } from "@/graphql";
- import {
- CreatePaymentInitiateVariables,
- CreatePaymentCallbackVariables,
- CreateCancelOrderVariables,
- CreatePaymentInitiate,
- CreatePaymentCallback,
- CreateCancelOrder,
- CreatePaymentReplayVariables,
- CreatePaymentReplay
- } from "@/types/checkout/type";
- export interface CreateOrderResult {
- data: CreatePaymentInitiate | null;
- msg: string;
- error: boolean;
- }
- interface CreatePaymnetCallbackResult {
- data: CreatePaymentCallback | null;
- msg: string;
- error: boolean;
- }
- interface CreateCancelOrderResult {
- data: CreateCancelOrder | null;
- msg: string;
- error: boolean;
- }
- interface PaymentReplayResult {
- error: boolean;
- data: CreatePaymentReplay | null;
- msg: string;
- }
- export const usePlaceOrder = () => {
- const client = useApolloClient();
- const createOrder = (params: CreatePaymentInitiateVariables = {}) => {
- return client.mutate({
- mutation: CREATE_PAYMENT_INITIATE,
- variables: params
- }).then((res) => {
- const resData = res?.data?.createPaymentInitiate?.paymentInitiate ?? null;
- const result: CreateOrderResult = {
- data:resData,
- msg: resData?.message ?? '',
- error: false
- };
- return result;
- }).catch((err) => {
- const result: CreateOrderResult = {
- data: null,
- msg: err.message,
- error: true
- };
- return result;
- });
- };
- // 支付回调
- const createPaymentCallback = (params: CreatePaymentCallbackVariables) => {
- return client.mutate({
- mutation: CREATE_PAYMENT_CALLBACK,
- variables: params
- }).then((res) => {
- const resData = res?.data?.createPaymentCallback?.paymentCallback ?? null;
- const result: CreatePaymnetCallbackResult = {
- data:resData,
- msg: resData?.message ?? '',
- error: false
- };
- return result;
- }).catch((err) => {
- const result: CreatePaymnetCallbackResult = {
- data: null,
- msg: err.message,
- error: true
- };
- return result;
- });
- };
- // 取消订单
- const cancelOrder = (params: CreateCancelOrderVariables) => {
- return client.mutate({
- mutation: CREATE_CANCEL_ORDER,
- variables: params
- }).then((res) => {
- const resData = res?.data?.createCancelOrder?.cancelOrder ?? null;
- const result: CreateCancelOrderResult = {
- data:resData,
- msg: resData?.message ?? '',
- error: false
- };
- return result;
- }).catch((err) => {
- const result: CreateCancelOrderResult = {
- data: null,
- msg: err.message,
- error: true
- };
- return result;
- });
- }
- const paymentRepay = (params: CreatePaymentReplayVariables) => {
- return client.mutate({
- mutation: CREATE_PAYMENT_REPLAY,
- variables: params
- }).then((res) => {
- const resData = res?.data?.createPaymentReplay?.paymentReplay ?? null;
- const result: PaymentReplayResult = {
- error: false,
- msg: '',
- data: resData
- };
- return result;
- }).catch((err) => {
- const result: PaymentReplayResult = {
- error: true,
- msg: err.message,
- data: null,
- };
- return result;
- });
- };
- return {
- createOrder,
- createPaymentCallback,
- cancelOrder,
- paymentRepay
- };
- };
|