feat:【MALL 商城】佣金提现,优化字段,以及支持更多 API 自动打款

This commit is contained in:
YunaiV 2025-05-10 10:07:18 +08:00
parent 11b3de0f42
commit aec024e42c
5 changed files with 30 additions and 24 deletions

View File

@ -7,15 +7,19 @@ export interface BrokerageWithdrawVO {
feePrice: number
totalPrice: number
type: number
name: string
accountNo: string
userName: string
userAccount: string
bankName: string
bankAddress: string
accountQrCodeUrl: string
qrCodeUrl: string
status: number
auditReason: string
auditTime: Date
remark: string
payTransferId?: number
transferChannelCode?: string
transferTime?: Date
transferErrorMsg?: string
}
// 查询佣金提现列表

View File

@ -13,13 +13,6 @@ export function createDemoOrder(data: DemoOrderVO) {
})
}
// 获得示例订单
export function getDemoOrder(id: number) {
return request.get({
url: '/pay/demo-order/get?id=' + id
})
}
// 获得示例订单分页
export function getDemoOrderPage(query: PageParam) {
return request.get({
@ -29,7 +22,7 @@ export function getDemoOrderPage(query: PageParam) {
}
// 退款示例订单
export function refundDemoOrder(id) {
export function refundDemoOrder(id: number) {
return request.put({
url: '/pay/demo-order/refund?id=' + id
})

View File

@ -34,15 +34,24 @@
/>
</el-select>
</el-form-item>
<el-form-item label="账号" prop="accountNo">
<el-form-item label="账号" prop="userAccount">
<el-input
v-model="queryParams.accountNo"
v-model="queryParams.userAccount"
placeholder="请输入账号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="真实名字" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入真实名字"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="提现银行" prop="bankName">
<el-select
v-model="queryParams.bankName"
@ -107,10 +116,10 @@
<div v-if="scope.row.type === BrokerageWithdrawTypeEnum.WALLET.type"> 余额 </div>
<div v-else>
{{ getDictLabel(DICT_TYPE.BROKERAGE_WITHDRAW_TYPE, scope.row.type) }}
<span v-if="scope.row.accountNo">账号{{ scope.row.accountNo }}</span>
<div v-if="scope.row.userAccount">账号{{ scope.row.userAccount }}</div>
<div v-if="scope.row.userName">真实姓名{{ scope.row.userName }}</div>
</div>
<template v-if="scope.row.type === BrokerageWithdrawTypeEnum.BANK.type">
<div>真实姓名{{ scope.row.name }}</div>
<div>
银行名称
<dict-tag :type="DICT_TYPE.BROKERAGE_BANK_NAME" :value="scope.row.bankName" />
@ -119,13 +128,13 @@
</template>
</template>
</el-table-column>
<el-table-column label="收款码" align="left" prop="accountQrCodeUrl" min-width="70px">
<el-table-column label="收款码" align="left" prop="qrCodeUrl" min-width="70px">
<template #default="scope">
<el-image
v-if="scope.row.accountQrCodeUrl"
:src="scope.row.accountQrCodeUrl"
v-if="scope.row.qrCodeUrl"
:src="scope.row.qrCodeUrl"
class="h-40px w-40px"
:preview-src-list="[scope.row.accountQrCodeUrl]"
:preview-src-list="[scope.row.qrCodeUrl]"
preview-teleported
/>
<span v-else></span>
@ -150,6 +159,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="转账失败原因" align="left" prop="transferErrorMsg" />
<el-table-column label="操作" align="left" width="110px" fixed="right">
<template #default="scope">
<template v-if="scope.row.status === BrokerageWithdrawStatusEnum.AUDITING.status">
@ -192,7 +202,6 @@ import { dateFormatter, formatDate } from '@/utils/formatTime'
import * as BrokerageWithdrawApi from '@/api/mall/trade/brokerage/withdraw'
import BrokerageWithdrawRejectForm from './BrokerageWithdrawRejectForm.vue'
import { BrokerageWithdrawStatusEnum, BrokerageWithdrawTypeEnum } from '@/utils/constants'
import { fenToYuanFormat } from '@/utils/formatter'
import { fenToYuan } from '@/utils'
defineOptions({ name: 'BrokerageWithdraw' })
@ -207,8 +216,8 @@ const queryParams = reactive({
pageSize: 10,
userId: null,
type: null,
name: null,
accountNo: null,
userName: null,
userAccount: null,
bankName: null,
status: null,
auditReason: null,

View File

@ -110,7 +110,7 @@
</Dialog>
</template>
<script lang="ts" setup name="PayDemoOrder">
import * as PayDemoApi from '@/api/pay/demo'
import * as PayDemoApi from '@/api/pay/demo/order'
import { dateFormatter, formatDate } from '@/utils/formatTime'
import { DICT_TYPE } from '@/utils/dict'

View File

@ -99,7 +99,7 @@
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import * as DemoWithdrawApi from '@/api/pay/demo/withdraw/index'
import * as DemoWithdrawApi from '@/api/pay/demo/withdraw'
import DemoWithdrawForm from './DemoWithdrawForm.vue'
import { DICT_TYPE } from '@/utils/dict'
import { useMessage } from '@/hooks/web/useMessage'