From 000f7d40a4dc67b884154bd54e32a35f31177930 Mon Sep 17 00:00:00 2001 From: nws <3239709711@qq.com> Date: Fri, 12 Jan 2024 00:51:24 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E6=94=AF=E4=BB=98=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/common/Pay.ts | 32 ----- src/enums/payment/PayStatus.ts | 21 ++-- src/enums/payment/payChannelEnum.ts | 1 - src/views/payment/order/pay/PayOrder.api.ts | 49 +++++++- src/views/payment/order/pay/PayOrderInfo.vue | 118 +++++++++++------- src/views/payment/order/pay/PayOrderList.vue | 115 +++++++++-------- src/views/payment/order/pay/RefundModel.vue | 11 ++ .../payment/order/refund/RefundRecord.api.ts | 2 +- .../record/callback/PayCallbackRecordList.vue | 5 +- 9 files changed, 201 insertions(+), 153 deletions(-) delete mode 100644 src/api/common/Pay.ts create mode 100644 src/views/payment/order/pay/RefundModel.vue diff --git a/src/api/common/Pay.ts b/src/api/common/Pay.ts deleted file mode 100644 index fe63220f..00000000 --- a/src/api/common/Pay.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { defHttp } from '/@/utils/http/axios' - -/** - * 取消支付(支付id) - */ -export function cancelByPaymentId(paymentId) { - return defHttp.post({ - url: '/uniPay/cancelByPaymentId', - params: { paymentId }, - }) -} - -/** - * 退款 - */ -export function refund(obj) { - return defHttp.post({ - url: '/uniPay/refund', - data: obj, - }) -} - -/** - * 刷新指定业务id的支付单状态 - */ -export function syncByBusinessId(businessId) { - return defHttp.post({ - url: '/uniPay/syncByBusinessId', - method: 'POST', - params: { businessId }, - }) -} diff --git a/src/enums/payment/PayStatus.ts b/src/enums/payment/PayStatus.ts index 496aa114..41ca6f24 100644 --- a/src/enums/payment/PayStatus.ts +++ b/src/enums/payment/PayStatus.ts @@ -2,24 +2,21 @@ * 支付状态 */ export enum PayStatus { - /** 未知状态 */ - TRADE_UNKNOWN = 'trade_unknown', - /** 支付中 */ - TRADE_PROGRESS = 'trade_progress', + PROGRESS = 'progress', /** 成功 */ - TRADE_SUCCESS = 'trade_success', + SUCCESS = 'success', /** 失败 */ - TRADE_FAIL = 'trade_fail', + FAIL = 'fail', - /** 支付取消(超时/手动取消/订单已经关闭撤销支付单) */ - TRADE_CANCEL = 'trade_cancel', + /** 支付关闭(超时/手动取消/订单已经关闭撤销支付单) */ + CANCEL = 'close', - /** 退款中(部分退款) */ - TRADE_REFUNDING = 'trade_refunding', + /** 部分退款 */ + PARTIAL_REFUND = 'partial_refund', - /** 已退款 */ - TRADE_REFUNDED = 'trade_refunded', + /** 全部退款 */ + REFUNDED = 'refunded', } diff --git a/src/enums/payment/payChannelEnum.ts b/src/enums/payment/payChannelEnum.ts index dd3dc4ec..4d122816 100644 --- a/src/enums/payment/payChannelEnum.ts +++ b/src/enums/payment/payChannelEnum.ts @@ -9,6 +9,5 @@ export enum payChannelEnum { WALLET = 'wallet_pay', VOUCHER = 'voucher_pay', CREDIT_CARD = 'credit_pay', - APPLE_PAY = 'apple_pay', AGGREGATION = 'aggregation_pay', } diff --git a/src/views/payment/order/pay/PayOrder.api.ts b/src/views/payment/order/pay/PayOrder.api.ts index 0db5fd78..d98c9a41 100644 --- a/src/views/payment/order/pay/PayOrder.api.ts +++ b/src/views/payment/order/pay/PayOrder.api.ts @@ -14,14 +14,53 @@ export function page(params) { } /** - * 获取单条 + * 获取订单 */ -export function get(id) { +export function getOrder(id) { return defHttp.get>({ url: '/order/pay/findById', params: { id }, }) } +/** + * 获取订单扩展信息 + */ +export function getOrderExtra(id) { + return defHttp.get>({ + url: '/order/pay/getExtraById', + params: { id }, + }) +} + +/** + * 获取订单关联支付通道信息 + */ +export function getPayChannel(paymentId) { + return defHttp.get>({ + url: '/order/pay/getChannels', + params: { paymentId }, + }) +} + +/** + * 同步支付状态 + */ +export function sync(id) { + return defHttp.post>({ + url: '/order/pay/sync', + params: { id }, + }) +} + +/** + * 关闭支付吉利 + */ +export function close(id) { + return defHttp.post>({ + url: '/order/pay/close', + params: { id }, + }) +} /** * 支付记录 @@ -32,9 +71,9 @@ export interface PayOrder extends BaseEntity { // 标题 title?: string // 是否是异步支付 - asyncPay: boolean + asyncPay?: boolean // 是否是组合支付 - combinationPay: boolean + combinationPay?: boolean // 异步支付通道 asyncChannel?: boolean // 金额 @@ -84,7 +123,7 @@ export interface PayOrderExtra { */ export interface PayOrderChannel { // 支付通道 - payChannel?: number + channel?: number // 支付方式 payWay?: number // 金额 diff --git a/src/views/payment/order/pay/PayOrderInfo.vue b/src/views/payment/order/pay/PayOrderInfo.vue index f5b57bae..693828cc 100644 --- a/src/views/payment/order/pay/PayOrderInfo.vue +++ b/src/views/payment/order/pay/PayOrderInfo.vue @@ -10,50 +10,71 @@ > - - {{ form.userId }} + + {{ order.id }} + + + {{ order.businessNo }} - {{ form.title }} - - - {{ form.businessId }} - - - {{ form.amount }} - - - {{ form.refundableBalance }} - - - {{ dictConvert('PayStatus', form.payStatus) }} - - - {{ form.asyncPayMode ? '是' : '否' }} - - - {{ form.combinationPayMode ? '是' : '否' }} - - - {{ dictConvert('PayChannel', form.asyncPayChannel) }} - - - {{ dictConvert('PayChannel', o.payChannel) }}: {{ o.amount }} - - - {{ dictConvert('PayChannel', o.payChannel) }}: {{ o.amount }} - - - {{ form.clientIp }} + {{ order.title }} - {{ form.description }} + {{ orderExtra.description }} - - {{ form.errorCode }} + + {{ order.amount }} + + + {{ order.refundableBalance }} + + + {{ dictConvert('PayStatus', order.payStatus) }} + + + {{ order.asyncPay ? '是' : '否' }} + + + {{ order.combinationPay ? '是' : '否' }} + + + {{ dictConvert('PayChannel', order.asyncChannel) }} + + + {{ dictConvert('PayChannel', o.channel) }}: {{ o.amount }} + + + {{ dictConvert('PayChannel', o.channel) }}: {{ o.amount }} + + + {{ orderExtra.clientIp }} - {{ form.errorMsg }} + {{ orderExtra.errorMsg }} + + + {{ orderExtra.notNotify ? '否' : '是' }} + + + {{ orderExtra.notifyUrl }} + + + {{ orderExtra.signType }} + + + {{ orderExtra.sign }} + + + {{ orderExtra.attach }} + + + {{ orderExtra.reqTime }} + + + {{ order.payTime }} + + + {{ order.expiredTime }} @@ -68,8 +89,7 @@ + + + + diff --git a/src/views/payment/order/refund/RefundRecord.api.ts b/src/views/payment/order/refund/RefundRecord.api.ts index 5627f126..a118b366 100644 --- a/src/views/payment/order/refund/RefundRecord.api.ts +++ b/src/views/payment/order/refund/RefundRecord.api.ts @@ -59,7 +59,7 @@ export interface RefundRecord extends BaseEntity { */ export interface RefundableInfo { // 支付通道 - payChannel?: number + channel?: number // 金额 amount?: number } diff --git a/src/views/payment/record/callback/PayCallbackRecordList.vue b/src/views/payment/record/callback/PayCallbackRecordList.vue index b0c9a04d..21880217 100644 --- a/src/views/payment/record/callback/PayCallbackRecordList.vue +++ b/src/views/payment/record/callback/PayCallbackRecordList.vue @@ -59,7 +59,6 @@ const { notification, createMessage, createConfirm } = useMessage() const { dictConvert, dictDropDown } = useDict() - // let asyncPayChannelList = $ref([]) let PayCallbackStatusList = $ref([]) @@ -89,7 +88,7 @@ const payCallbackRecordInfo = $ref() onMounted(() => { - init() + initData() vxeBind() queryPage() }) @@ -100,7 +99,7 @@ /** * 初始化 */ - async function init() { + async function initData() { asyncPayChannelList = await dictDropDown('AsyncPayChannel') PayCallbackStatusList = await dictDropDown('PayCallbackStatus') }