ref 支付流程联调, 回退pnpm锁定文件

This commit is contained in:
bootx
2024-04-27 23:08:27 +08:00
parent 58be3bd0ec
commit 3e3b1d8578
9 changed files with 6502 additions and 7944 deletions

View File

@@ -54,7 +54,7 @@
## 项目启动
```shell
# 安装项目依赖, 请使用Node16及以上版本
# 安装项目依赖, 请使用Node20.x版本, pnpm使用8.x版本
pnpm install
# 启动项目
pnpm run dev

14357
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -56,10 +56,10 @@ export function syncByOrderNo(orderNo: string) {
/**
* 关闭支付记录
*/
export function close(id) {
export function close(orderNo) {
return defHttp.post<Result<void>>({
url: '/order/pay/close',
params: { id },
params: { orderNo },
})
}

View File

@@ -15,9 +15,14 @@
@sort-change="sortChange"
>
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="orderNo" title="订单号" sortable width="220" />
<vxe-column field="title" title="标题" width="220" />
<vxe-column field="amount" title="金额(元)" width="120" sortable>
<vxe-column field="orderNo" title="订单号" sortable min-width="220" />
<vxe-column field="title" title="标题" min-width="220" />
<vxe-column field="channel" title="支付通道" min-width="120">
<template #default="{ row }">
{{ dictConvert('PayChannel', row.channel) }}
</template>
</vxe-column>
<vxe-column field="amount" title="金额(元)" min-width="120" sortable>
<template #default="{ row }"> {{ row.amount ? (row.amount / 100).toFixed(2) : 0 }} </template>
</vxe-column>
<vxe-column field="refundableBalance" title="可退余额(元)" width="120" sortable>
@@ -27,18 +32,18 @@
<template #default="{ row }">{{ dictConvert('PayStatus', row.status) }}</template>
</vxe-column>
<vxe-column field="allocation" title="分账" width="160">
<vxe-column field="allocation" title="分账" min-width="160">
<template #default="{ row }">
<a-tag v-if="row.allocation" color="green">支持</a-tag>
<a-tag v-else color="red">不支持</a-tag>
</template>
</vxe-column>
<vxe-column field="allocation" title="分账状态" width="160">
<vxe-column field="allocation" title="分账状态" min-width="160">
<template #default="{ row }">
{{ dictConvert('PayOrderAllocationStatus', row.allocationStatus) }}
</template>
</vxe-column>
<vxe-column field="createTime" title="创建时间" sortable width="220" />
<vxe-column field="createTime" title="创建时间" sortable min-width="220" />
<vxe-column fixed="right" width="200" :showOverflow="false" title="操作">
<template #default="{ row }">
<a-link @click="show(row)">查看</a-link>
@@ -172,9 +177,7 @@
onOk: () => {
loading.value = true
syncByOrderNo(record.orderNo).then(({ data }) => {
// TODO 后期可以根据返回结果进行相应的处理
createMessage.success('同步成功')
console.log(data)
queryPage()
})
},
@@ -189,7 +192,7 @@
title: '警告',
content: '是否关闭支付订单',
onOk: () => {
close(record.id).then(() => {
close(record.orderNo).then(() => {
createMessage.success('关闭成功')
queryPage()
})

View File

@@ -8,9 +8,21 @@
:mask-closable="showable"
@cancel="handleCancel"
>
<a-form ref="formRef" :model="form" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-form-item :label="dictConvert('PayChannel', order.channel)" name="name">
<a-input-number :min="0" :max="order.amount" :precision="0" v-model:value="form.amount" />
<a-form
ref="formRef"
:model="form"
:label-col="labelCol"
:rules="{ amount: [{ required: true, message: '请输入退款金额' }] }"
:wrapper-col="wrapperCol"
>
<a-form-item label="标题">
{{ order.title }}
</a-form-item>
<a-form-item label="订单号">
{{ order.orderNo }}
</a-form-item>
<a-form-item label="退款金额" name="amount">
<a-input-number :min="1" :max="order.amount" :precision="0" v-model:value="form.amount" />
</a-form-item>
<a-form-item label="原因" name="reason">
<a-textarea v-model:value="form.reason" :rows="3" />

View File

@@ -27,7 +27,7 @@ export function get(id) {
*/
export function getOrderExtra(id) {
return defHttp.get<Result<RefundOrderExtra>>({
url: '/order/pay/getExtraById',
url: '/order/refund/getExtraById',
params: { id },
})
}

View File

@@ -22,26 +22,30 @@
@sort-change="sortChange"
>
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="refundNo" title="退款号" width="220" />
<vxe-column field="title" title="原支付标题" width="160" />
<vxe-column field="orderNo" title="原支付订单号" width="220">
<vxe-column field="refundNo" title="退款号" min-width="220" />
<vxe-column field="title" title="原支付标题" min-width="160" />
<vxe-column field="reason" title="退款原因" min-width="160" />
<vxe-column field="orderNo" title="原支付订单号" min-width="220">
<template #default="{ row }">
<a @click="showPayment(row.orderNo)">
{{ row.orderNo }}
</a>
</template>
</vxe-column>
<vxe-column field="businessNo" title="原业务号" :visible="false" />
<vxe-column field="amount" title="退款金额(元)" width="140">
<vxe-column field="channel" title="支付通道" min-width="120">
<template #default="{ row }">
{{ dictConvert('PayChannel', row.channel) }}
</template>
</vxe-column>
<vxe-column field="amount" title="退款金额(元)" min-width="140">
<template #default="{ row }"> {{ row.amount ? (row.amount / 100).toFixed(2) : 0 }} </template>
</vxe-column>
<vxe-column field="refundStatus" title="状态" width="80">
<vxe-column field="refundStatus" title="状态" min-width="80">
<template #default="{ row }">
{{ dictConvert('RefundStatus', row.status) }}
</template>
</vxe-column>
<vxe-column field="reason" title="退款原因" width="160" />
<vxe-column field="refundTime" title="退款时间" sortable width="180" />
<vxe-column field="refundTime" title="退款时间" sortable min-width="180" />
<vxe-column fixed="right" width="150" :showOverflow="false" title="操作">
<template #default="{ row }">
<a-link @click="show(row)">查看</a-link>

View File

@@ -15,10 +15,10 @@ export function page(params) {
/**
* 获取单条
*/
export function get(paymentId) {
export function get(id) {
return defHttp.get<Result<PayCallbackRecord>>({
url: '/record/callback/findById',
params: { paymentId },
params: { id },
})
}
@@ -26,10 +26,10 @@ export function get(paymentId) {
* 支付回调记录
*/
export interface PayCallbackRecord extends BaseEntity {
// 本地订单id
orderId?: string
// 支付网关订单
gatewayOrderNo?: string
// 交易号
tradeNo?: string
// 外部交易
outTradeNo?: string
// 支付通道
channel?: string
// 回调类型
@@ -38,8 +38,8 @@ export interface PayCallbackRecord extends BaseEntity {
notifyInfo?: string
// 回调处理状态
status?: string
// 修复号
repairNo?: string
// 提示信息
msg?: string
// 回调时间
notifyTime?: string
}

View File

@@ -14,10 +14,10 @@
@sort-change="sortChange"
>
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="orderId" title="本地订单ID" width="170">
<vxe-column field="orderId" title="订单号" min-width="220">
<template #default="{ row }">
<a @click="showOrder(row)">
{{ row.orderId }}
{{ row.tradeNo }}
</a>
</template>
</vxe-column>
@@ -36,7 +36,7 @@
<a-tag>{{ dictConvert('PayCallbackStatus', row.status) }}</a-tag>
</template>
</vxe-column>
<vxe-column field="msg" title="提示信息" />
<vxe-column field="msg" title="提示信息" min-width="250" />
<vxe-column field="createTime" title="通知时间" sortable />
<vxe-column fixed="right" width="60" :showOverflow="false" title="操作">
<template #default="{ row }">