feat 一些订单记录的数据填充

This commit is contained in:
xxm1995
2024-01-31 13:47:59 +08:00
parent 7a7fbd4015
commit b7a2d42c36
9 changed files with 64 additions and 43 deletions

View File

@@ -9,6 +9,9 @@
@cancel="handleCancel"
>
<a-descriptions bordered title="" :column="{ md: 1, sm: 1, xs: 1 }">
<a-descriptions-item label="通道订单ID">
{{ form.id }}
</a-descriptions-item>
<a-descriptions-item label="订单金额">
{{ form.orderAmount }}
</a-descriptions-item>
@@ -18,6 +21,9 @@
<a-descriptions-item label="通道支付单ID">
{{ form.payChannelId }}
</a-descriptions-item>
<a-descriptions-item label="剩余可退余额">
{{ form.refundableAmount }}
</a-descriptions-item>
<a-descriptions-item label="退款通道">
{{ form.gatewayOrderNo }}
</a-descriptions-item>

View File

@@ -10,6 +10,7 @@
</vxe-column>
<vxe-column field="orderAmount" title="订单金额" />
<vxe-column field="amount" title="退款金额" />
<vxe-column field="refundableAmount" title="剩余可退余额" />
<vxe-column field="refundStatus" title="状态">
<template #default="{ row }">
<a-tag>{{ dictConvert('PayRefundStatus', row.status) }}</a-tag>

View File

@@ -114,6 +114,8 @@ export interface RefundChannelOrder extends BaseEntity {
orderAmount?: number
// 退款金额
amount?: number
// 剩余可退余额
refundableAmount?: number
// 状态
status?: string
}

View File

@@ -15,10 +15,10 @@ export function page(params) {
/**
* 获取单条
*/
export function get(paymentId) {
export function get(id) {
return defHttp.get<Result<PayRepairRecord>>({
url: '/record/repair/findById',
params: { paymentId },
params: { id },
})
}

View File

@@ -23,13 +23,15 @@
{{ form.orderNo }}
</a-descriptions-item>
<a-descriptions-item label="修复类型">
{{ dictConvert('PayRepairType', form.repairType) }}
{{ dictConvert('PaymentType', form.repairType) }}
{{ form.repairType }}
</a-descriptions-item>
<a-descriptions-item label="修复来源">
{{ dictConvert('PayRepairSource', form.repairSource) }}
</a-descriptions-item>
<a-descriptions-item label="修复方式">
{{ dictConvert('PayRepairWay', form.repairWay) }}
<a-tag v-if="form.repairType === 'pay'">{{ dictConvert('PayRepairWay', row.repairWay) }}</a-tag>
<a-tag v-else>{{ dictConvert('RefundRepairWay', form.repairWay) }}</a-tag>
</a-descriptions-item>
<a-descriptions-item label="修复通道">
{{ dictConvert('AsyncPayChannel', form.asyncChannel) }}

View File

@@ -35,7 +35,8 @@
</vxe-column>
<vxe-column field="repairWay" title="修复方式">
<template #default="{ row }">
<a-tag>{{ dictConvert('PayRepairWay', row.repairWay) || dictConvert('RefundRepairWay', row.repairWay) }}</a-tag>
<a-tag v-if="row.repairType === 'pay'">{{ dictConvert('PayRepairWay', row.repairWay) }}</a-tag>
<a-tag v-else>{{ dictConvert('RefundRepairWay', row.repairWay) }}</a-tag>
</template>
</vxe-column>
<vxe-column field="createTime" title="修复时间" />

View File

@@ -26,10 +26,14 @@ export function get(paymentId) {
* 支付同步记录
*/
export interface SyncRecord extends BaseEntity {
// 支付记录id
paymentId?: string
// 业务号
businessNo?: string
// 本地订单id
orderId?: string
// 本地业务号
orderNo?: string
// 网关订单号
gatewayOrderNo?: string
// 同步类型
syncType?: string
// 同步通道
asyncChannel?: string
// 通知消息
@@ -38,10 +42,6 @@ export interface SyncRecord extends BaseEntity {
gatewayStatus?: string
// 是否进行修复
repairOrder?: boolean
// 支付单修复前状态
beforeStatus?: string
// 支付单修复后状态
afterStatus?: string
// 错误消息
errorMsg?: string
// 同步时间

View File

@@ -10,31 +10,34 @@
>
<a-spin :spinning="confirmLoading">
<a-descriptions title="" :column="{ md: 1, sm: 1, xs: 1 }">
<a-descriptions-item label="支付号">
{{ form.paymentId }}
<a-descriptions-item label="本地订单号">
{{ form.orderId }}
</a-descriptions-item>
<a-descriptions-item label="业务号">
{{ form.businessNo }}
<a-descriptions-item label="本地业务号">
{{ form.orderNo }}
</a-descriptions-item>
<a-descriptions-item label="网关订单号">
{{ form.gatewayOrderNo }}
</a-descriptions-item>
<a-descriptions-item label="同步类型">
<a-tag>{{ dictConvert('PaymentType', form.syncType) }}</a-tag>
</a-descriptions-item>
<a-descriptions-item label="同步通道">
{{ dictConvert('AsyncPayChannel', form.asyncChannel) }}
</a-descriptions-item>
<a-descriptions-item label="同步消息">
<json-preview :data="XEUtils.toStringJSON(form.syncInfo || '{}')" />
<a-tag> {{ dictConvert('AsyncPayChannel', form.asyncChannel) }}</a-tag>
</a-descriptions-item>
<a-descriptions-item label="同步结果">
{{ dictConvert('PaySyncStatus', form.gatewayStatus) }}
<a-tag v-if="form.syncType === 'pay'">{{ dictConvert('PaySyncStatus', form.gatewayStatus) }}</a-tag>
<a-tag v-else>{{ dictConvert('RefundSyncStatus', form.gatewayStatus) }}</a-tag>
</a-descriptions-item>
<a-descriptions-item label="是否修复">
<a-tag>{{ form.repairOrder ? '是' : '否' }}</a-tag>
</a-descriptions-item>
<a-descriptions-item label="修复后订单状态">
{{ dictConvert('PayStatus', form.afterStatus) }}
</a-descriptions-item>
<a-descriptions-item label="同步时间">
{{ form.createTime }}
<a-descriptions-item label="同步消息">
<json-preview :data="XEUtils.toStringJSON(form.syncInfo || '{}')" />
</a-descriptions-item>
</a-descriptions-item>
<a-descriptions-item label="错误信息" v-if="form.errorMsg">
{{ form.errorMsg }}
</a-descriptions-item>

View File

@@ -7,14 +7,19 @@
<vxe-toolbar ref="xToolbar" custom :refresh="{ queryMethod: queryPage }" />
<vxe-table row-id="id" ref="xTable" :data="pagination.records" :loading="loading">
<vxe-column type="seq" title="序号" width="60" />
<vxe-column field="paymentId" title="支付号" width="170" sortable>
<vxe-column field="orderId" title="本地支付号" width="170" sortable>
<template #default="{ row }">
<a @click="showPayment(row.paymentId)">
{{ row.paymentId }}
<a @click="showOrder(row)">
{{ row.orderId }}
</a>
</template>
</vxe-column>
<vxe-column field="businessNo" title="业务号" />
<vxe-column field="orderNo" title="业务号" />
<vxe-column field="channel" title="同步类型">
<template #default="{ row }">
<a-tag>{{ dictConvert('PaymentType', row.syncType) }}</a-tag>
</template>
</vxe-column>
<vxe-column field="channel" title="同步通道">
<template #default="{ row }">
<a-tag>{{ dictConvert('AsyncPayChannel', row.asyncChannel) }}</a-tag>
@@ -22,22 +27,17 @@
</vxe-column>
<vxe-column field="status" title="同步结果" width="140">
<template #default="{ row }">
<a-tag>{{ dictConvert('PaySyncStatus', row.gatewayStatus) }}</a-tag>
<a-tag v-if="row.syncType === 'pay'">{{ dictConvert('PaySyncStatus', row.gatewayStatus) }}</a-tag>
<a-tag v-else>{{ dictConvert('RefundSyncStatus', row.gatewayStatus) }}</a-tag>
</template>
</vxe-column>
<vxe-column field="repairOrder" title="是否修复">
<template #default="{ row }">
<a-tag v-if="row.repairOrder" color="green"></a-tag>
<a v-if="row.repairOrder" @click="showRepairInfo(row.repairOrderId)"> 修复单 </a>
<a-tag v-else></a-tag>
</template>
</vxe-column>
<vxe-column field="repairOrderId" title="关联修复号" width="170">
<template #default="{ row }">
<a @click="showRepairInfo(row.repairOrderId)">
{{ row.repairOrderId }}
</a>
</template>
</vxe-column>
<vxe-column field="gatewayOrderNo" title="网关订单号" width="170" />
<vxe-column field="errorMsg" title="错误消息" />
<vxe-column field="createTime" title="同步时间" />
<vxe-column fixed="right" width="60" :showOverflow="false" title="操作">
@@ -59,6 +59,7 @@
</div>
<pay-sync-record-info ref="paySyncRecordInfo" />
<pay-order-info ref="payOrderInfo" />
<refund-order-info ref="refundOrderInfo" />
<pay-repair-record-info ref="payRepairRecordInfo" />
</div>
</template>
@@ -77,6 +78,7 @@
import PaySyncRecordInfo from './PaySyncRecordInfo.vue'
import PayOrderInfo from '/@/views/payment/order/pay/PayOrderInfo.vue'
import PayRepairRecordInfo from '/@/views/payment/record/repair/PayRepairRecordInfo.vue'
import RefundOrderInfo from '/@/views/payment/order/refund/RefundOrderInfo.vue'
// 使用hooks
const { handleTableChange, pageQueryResHandel, resetQueryParams, pagination, pages, model, loading } = useTablePage(queryPage)
@@ -112,6 +114,7 @@
const xToolbar = $ref<VxeToolbarInstance>()
const paySyncRecordInfo = $ref<any>()
const payOrderInfo = $ref<any>()
const refundOrderInfo = $ref<any>()
const payRepairRecordInfo = $ref<any>()
onMounted(() => {
@@ -153,13 +156,16 @@
/**
* 查看支付单信息
* @param paymentId
*/
function showPayment(paymentId) {
payOrderInfo.init(paymentId)
function showOrder(record) {
if (record.callbackType === 'pay') {
payOrderInfo.init(record.orderId)
} else {
refundOrderInfo.init(record.orderId)
}
}
/**
* 查看支付单信息
* 查看修复信息
*/
function showRepairInfo(repairId) {
payRepairRecordInfo.init(repairId)