ref 退款和回调页面调整

This commit is contained in:
DaxPay
2024-04-28 20:52:06 +08:00
parent 3e3b1d8578
commit 6d6387a07e
7 changed files with 42 additions and 59 deletions

View File

@@ -7,9 +7,20 @@
## 🍈项目介绍
> DaxPay是一套基于Bootx-Platform脚手架构建的一套开源支付网关系统已经对接支付宝、微信支付相关的接口,以及扩展了钱包支付、储值卡支付、现金支付等新的支付方式
> DaxPay是一套基于Bootx-Platform脚手架构建的一套开源支付网关系统已经对接支付宝、微信支付、云闪付相关的接口。
> 可以独立部署,提供接口供业务系统进行调用,不对原有系统产生影响
## 项目启动
```shell
# 安装项目依赖, 请使用Node20.x版本, pnpm使用8.0.0到8.5.1版本推荐直接使用8.5.1版本,更高版本会导致 pnpm-lock.yaml 失效
pnpm install
# 启动项目
pnpm run dev
# 构建打包
pnpm build
```
## 🍒 文档和源码地址
### 文档地址
在 [Bootx开源文档站](https://bootx.gitee.io/) 下的支付网关(DaxPay)模块下可以进行查阅相关文档,具体链接地址如下:
@@ -52,16 +63,6 @@
手机收银台地址: https://daxpay.demo.bootx.cn/h5/#/cashier/uniCashier
## 项目启动
```shell
# 安装项目依赖, 请使用Node20.x版本, pnpm使用8.x版本
pnpm install
# 启动项目
pnpm run dev
# 构建打包
pnpm build
```
## 常见问题
出现以下错误不用管,不影响使用,只在第一次启动时出现,之后就不会再出现
```shell

View File

@@ -33,16 +33,6 @@ export function getOrderByOrderNo(orderNo: string) {
})
}
/**
* 获取订单扩展信息
*/
export function getOrderExtra(id) {
return defHttp.get<Result<PayOrderExtra>>({
url: '/order/pay/getExtraById',
params: { id },
})
}
/**
* 根据订单号同步支付状态
*/

View File

@@ -21,13 +21,22 @@ export function get(id) {
params: { id },
})
}
/**
* 获取单条
*/
export function getByRefundNo(refundNo) {
return defHttp.get<Result<any>>({
url: '/order/refund/findByOrderNo',
params: { refundNo },
})
}
/**
* 获取订单扩展信息
*/
export function getOrderExtra(id) {
return defHttp.get<Result<RefundOrderExtra>>({
url: '/order/refund/getExtraById',
url: '/order/refund/findExtraById',
params: { id },
})
}

View File

@@ -55,7 +55,7 @@
<script lang="ts" setup>
import { $ref } from 'vue/macros'
import useFormEdit from '/@/hooks/bootx/useFormEdit'
import { get, getOrderExtra, RefundOrder, RefundOrderExtra } from './RefundOrder.api'
import {get, getByRefundNo, getOrderExtra, RefundOrder, RefundOrderExtra} from './RefundOrder.api'
import { BasicModal } from '/@/components/Modal'
import { useDict } from '/@/hooks/bootx/useDict'
const { handleCancel, confirmLoading, visible, showable } = useFormEdit()
@@ -67,16 +67,14 @@
// 事件
const emits = defineEmits(['ok'])
// 入口
async function init(id) {
async function init(refundNo) {
visible.value = true
confirmLoading.value = true
await get(id).then(({ data }) => {
order = data
getByRefundNo(refundNo).then(({ data }) => {
order = data.refundOrder
orderExtra = data.refundOrderExtra
confirmLoading.value = false
})
getOrderExtra(id).then(({ data }) => {
orderExtra = data
})
confirmLoading.value = false
}
defineExpose({
init,

View File

@@ -27,7 +27,7 @@
<vxe-column field="reason" title="退款原因" min-width="160" />
<vxe-column field="orderNo" title="原支付订单号" min-width="220">
<template #default="{ row }">
<a @click="showPayment(row.orderNo)">
<a @click="showPayOrder(row)">
{{ row.orderNo }}
</a>
</template>
@@ -191,15 +191,14 @@
* 查看
*/
function show(record) {
refundOrderInfo.init(record.id)
refundOrderInfo.init(record.refundNo)
}
/**
* 查看支付单信息
* @param paymentId
*/
function showPayment(paymentId) {
payOrderInfo.init(paymentId)
function showPayOrder(record) {
payOrderInfo.init(record.orderNo)
}
function cellStyle({ row, column }) {

View File

@@ -10,11 +10,11 @@
>
<a-spin :spinning="confirmLoading">
<a-descriptions bordered title="" :column="{ md: 1, sm: 1, xs: 1 }">
<a-descriptions-item label="本地订单ID">
{{ form.orderId }}
<a-descriptions-item label="本地交易号">
{{ form.tradeNo }}
</a-descriptions-item>
<a-descriptions-item label="网关订单号">
{{ form.gatewayOrderNo }}
<a-descriptions-item label="外部交易号">
{{ form.outTradeNo }}
</a-descriptions-item>
<a-descriptions-item label="支付通道">
<a-tag>{{ dictConvert('PayChannel', form.channel) }}</a-tag>
@@ -50,24 +50,10 @@
import { BasicModal } from '/@/components/Modal'
import { useDict } from '/@/hooks/bootx/useDict'
import JsonPreview from '/@/components/CodeEditor/src/json-preview/JsonPreview.vue'
const {
initFormEditType,
handleCancel,
search,
labelCol,
wrapperCol,
modalWidth,
title,
confirmLoading,
visible,
editable,
showable,
formEditType,
} = useFormEdit()
const { handleCancel, modalWidth, confirmLoading, visible, showable } = useFormEdit()
const { dictConvert } = useDict()
// 表单
const formRef = $ref<FormInstance>()
let form = $ref<PayCallbackRecord>({})
// 入口
function init(id) {

View File

@@ -88,10 +88,10 @@
// 查询条件
const fields = computed(() => {
return [
{ field: 'orderId', type: STRING, name: '本地订单ID', placeholder: '请输入完整本地订单ID' },
{ field: 'gatewayOrderNo', type: STRING, name: '网关订单号', placeholder: '请输入完整网关订单号' },
{ field: 'tradeId', type: STRING, name: '本地交易号', placeholder: '请输入本地交易号' },
{ field: 'outTradeNo', type: STRING, name: '网关订单号', placeholder: '请输入完整网关订单号' },
{
field: 'payChannel',
field: 'channel',
type: LIST,
name: '支付通道',
placeholder: '请选择支付通道',
@@ -156,9 +156,9 @@
*/
function showOrder(record: PayCallbackRecord) {
if (record.callbackType === 'pay') {
payOrderInfo.init(record.orderId)
payOrderInfo.init(record.tradeNo)
} else {
refundOrderInfo.init(record.orderId)
refundOrderInfo.init(record.tradeNo)
}
}
</script>