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 feePrice: number
totalPrice: number totalPrice: number
type: number type: number
name: string userName: string
accountNo: string userAccount: string
bankName: string bankName: string
bankAddress: string bankAddress: string
accountQrCodeUrl: string qrCodeUrl: string
status: number status: number
auditReason: string auditReason: string
auditTime: Date auditTime: Date
remark: string 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) { export function getDemoOrderPage(query: PageParam) {
return request.get({ return request.get({
@ -29,7 +22,7 @@ export function getDemoOrderPage(query: PageParam) {
} }
// 退款示例订单 // 退款示例订单
export function refundDemoOrder(id) { export function refundDemoOrder(id: number) {
return request.put({ return request.put({
url: '/pay/demo-order/refund?id=' + id url: '/pay/demo-order/refund?id=' + id
}) })

View File

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

View File

@ -110,7 +110,7 @@
</Dialog> </Dialog>
</template> </template>
<script lang="ts" setup name="PayDemoOrder"> <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 { dateFormatter, formatDate } from '@/utils/formatTime'
import { DICT_TYPE } from '@/utils/dict' import { DICT_TYPE } from '@/utils/dict'

View File

@ -99,7 +99,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime' 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 DemoWithdrawForm from './DemoWithdrawForm.vue'
import { DICT_TYPE } from '@/utils/dict' import { DICT_TYPE } from '@/utils/dict'
import { useMessage } from '@/hooks/web/useMessage' import { useMessage } from '@/hooks/web/useMessage'