feat: 按文档对接账务管理下页面逻辑与字段

This commit is contained in:
ZhuRui
2026-07-31 17:25:42 +08:00
parent ea906a0d92
commit 3b107e8d52
29 changed files with 1833 additions and 888 deletions
+25
View File
@@ -0,0 +1,25 @@
/**
* 支付流水 API
* 对应 OpenAPI: GET /admin/finance/paymentFlow/page
*/
import { get } from '@/utils/request';
import { USE_MOCK, MOCK_DELAY } from '@/config/mock';
import { buildMockPaymentFlowPage } from '@/config/mock/paymentFlow';
import type { PaymentFlowQueryParams, PaymentFlowVO, PageData, ApiResult } from './types';
export type { PaymentFlowVO, PaymentFlowQueryParams, PageData, ApiResult } from './types';
const delay = (ms: number) => new Promise<void>((r) => setTimeout(r, ms));
/** GET /admin/finance/paymentFlow/page — 支付流水分页 */
export async function getPaymentFlowList(
params: PaymentFlowQueryParams,
): Promise<ApiResult<PageData<PaymentFlowVO>>> {
if (USE_MOCK) {
await delay(MOCK_DELAY);
const page = Number(params.page) || 1;
const limit = Number(params.limit) || 10;
return { code: 200, msg: 'success', data: buildMockPaymentFlowPage(page, limit, params) };
}
return get('/admin/finance/paymentFlow/page', params as Record<string, any>);
}
+48
View File
@@ -0,0 +1,48 @@
/**
* 支付流水 — 类型定义
* 对应 OpenAPI: GET /admin/finance/paymentFlow/page
*/
/** 支付流水列表项 */
export interface PaymentFlowVO {
/** 流水号 */
serialNo: string;
/** 订单编号 */
orderNo: string;
/** 类型:1=报名,2=取消报名 */
type: number;
/** 用户昵称 */
nickname: string;
/** 用户手机 */
phone: string;
/** 订单金额("0.00"格式) */
amount: string;
/** 订单创建时间 */
createDate: string;
}
/** 支付流水查询参数 */
export interface PaymentFlowQueryParams {
page?: string;
limit?: string;
/** 订单创建开始时间 yyyy-MM-dd */
createDateBegin?: string;
/** 订单创建结束时间 yyyy-MM-dd */
createDateEnd?: string;
/** 用户昵称 */
nickname?: string;
/** 手机号 */
phone?: string;
/** 类型:1/2 */
type?: string;
}
export interface PageData<T> {
total: number;
list: T[];
}
export interface ApiResult<T> {
code: number;
msg: string;
data: T;
}
+53
View File
@@ -0,0 +1,53 @@
/**
* 用户钱包 API
* OpenAPI: GET /admin/finance/wallet/summary, GET /admin/finance/wallet/page
*/
import { get } from '@/utils/request';
import { USE_MOCK, MOCK_DELAY } from '@/config/mock';
import { buildMockWalletPage } from '@/config/mock/walletList';
import { buildMockWalletTransactionPage } from '@/config/mock/walletTransactions';
import type {
WalletQueryParams,
WalletSummaryVO,
WalletTransactionQueryParams,
WalletTransactionVO,
PageData,
ApiResult,
} from './types';
export type {
WalletSummaryVO,
WalletQueryParams,
WalletTransactionVO,
WalletTransactionQueryParams,
PageData,
ApiResult,
} from './types';
const delay = (ms: number) => new Promise<void>((r) => setTimeout(r, ms));
/** GET /admin/finance/wallet/summary — 钱包列表分页 */
export async function getWalletList(
params: WalletQueryParams,
): Promise<ApiResult<PageData<WalletSummaryVO>>> {
if (USE_MOCK) {
await delay(MOCK_DELAY);
const page = Number(params.page) || 1;
const limit = Number(params.limit) || 10;
return { code: 200, msg: 'success', data: buildMockWalletPage(page, limit, params) };
}
return get('/admin/finance/wallet/summary', params as Record<string, any>);
}
/** GET /admin/finance/wallet/page — 交易明细分页 */
export async function getWalletTransactionList(
params: WalletTransactionQueryParams,
): Promise<ApiResult<PageData<WalletTransactionVO>>> {
if (USE_MOCK) {
await delay(MOCK_DELAY);
const page = Number(params.page) || 1;
const limit = Number(params.limit) || 10;
return { code: 200, msg: 'success', data: buildMockWalletTransactionPage(page, limit, params) };
}
return get('/admin/finance/wallet/page', params as Record<string, any>);
}
+92
View File
@@ -0,0 +1,92 @@
/**
* 用户钱包 — 类型定义
* 对应 OpenAPI: GET /admin/finance/wallet/summary
*/
/** 钱包列表项 */
export interface WalletSummaryVO {
/** 用户ID */
userId: number;
/** 用户昵称 */
userNickname: string;
/** 手机号 */
phone: string;
/** 余额("0.00"格式) */
amount: string;
/** 冻结金额("0.00"格式) */
frozenAmount: string;
/** 累计成功提现金额("0.00"格式) */
withdrawalAmount: string;
/** 汇总行-总余额 */
totalAmount: string;
/** 汇总行-总冻结金额 */
totalFrozenAmount: string;
/** 汇总行-总累计提现 */
totalWithdrawalAmount: string;
}
/** 钱包列表查询参数 */
export interface WalletQueryParams {
page?: string;
limit?: string;
/** 用户昵称,模糊搜索 */
nickname?: string;
/** 手机号 */
phone?: string;
/** 余额最小值 */
amountBegin?: string;
/** 余额最大值 */
amountEnd?: string;
}
export interface PageData<T> {
total: number;
list: T[];
}
export interface ApiResult<T> {
code: number;
msg: string;
data: T;
}
// ============================================================
// 交易明细(GET /admin/finance/wallet/page
// ============================================================
/** 交易明细列表项 */
export interface WalletTransactionVO {
/** 类型:1=报名入账,2=提现出账,3=退款出账 */
type: number;
/** 金额("0.00"格式,入账为+,出账为- */
amount: string;
/** 余额("0.00"格式) */
afterAmount: string;
/** 可提现余额("0.00"格式) */
withdrawAmount: string;
/** 冻结金额("0.00"格式) */
freezeAmount: string;
/** 冻结时间 */
freezeTime: string;
/** 解冻时间 */
unfreezeTime: string;
/** 关联单号 */
orderNo: string;
/** 时间 */
createDate: string;
}
/** 交易明细查询参数 */
export interface WalletTransactionQueryParams {
page?: string;
limit?: string;
/** 用户ID */
userId?: string;
/** 创建开始时间 yyyy-MM-dd */
createDateBegin?: string;
/** 创建结束时间 yyyy-MM-dd */
createDateEnd?: string;
/** 类型:1/2/3 */
type?: string;
/** 状态:1=已解冻,2=冻结中,3=正常 */
status?: string;
}
+56
View File
@@ -0,0 +1,56 @@
/**
* 提现管理 API
* 对应 OpenAPI: GET /admin/finance/withdraw/page, GET /admin/finance/withdraw/info
*/
import { get, post } from '@/utils/request';
import { USE_MOCK, MOCK_DELAY } from '@/config/mock';
import { buildMockWithdrawPage } from '@/config/mock/withdrawList';
import { buildMockWithdrawInfo } from '@/config/mock/withdrawInfo';
import type { WithdrawQueryParams, WithdrawVO, WithdrawInfoVO, PageData, ApiResult } from './types';
export type { WithdrawVO, WithdrawInfoVO, WithdrawQueryParams, PageData, ApiResult } from './types';
const delay = (ms: number) => new Promise<void>((r) => setTimeout(r, ms));
/** GET /admin/finance/withdraw/page — 提现列表分页 */
export async function getWithdrawList(
params: WithdrawQueryParams,
): Promise<ApiResult<PageData<WithdrawVO>>> {
if (USE_MOCK) {
await delay(MOCK_DELAY);
const page = Number(params.page) || 1;
const limit = Number(params.limit) || 10;
return {
code: 200,
msg: 'success',
data: buildMockWithdrawPage(page, limit, params),
};
}
return get('/admin/finance/withdraw/page', params as Record<string, any>);
}
/** GET /admin/finance/withdraw/info?id=xxx — 提现详情 */
export async function getWithdrawInfo(id: number): Promise<ApiResult<WithdrawInfoVO>> {
if (USE_MOCK) {
await delay(MOCK_DELAY);
return { code: 200, msg: 'success', data: buildMockWithdrawInfo(id) };
}
return get('/admin/finance/withdraw/info', { id: String(id) });
}
/** 提现审核请求参数 */
export interface WithdrawAuditParams {
/** 提现ID */
id: string;
/** 审核结果:1=通过,2=驳回 */
audit: string;
/** 审核内容 */
checkMsg: string;
/** 审核图片(逗号拼接的 URL) */
checkImg: string;
}
/** POST /admin/finance/withdraw/audit — 审核提现 */
export async function postWithdrawAudit(params: WithdrawAuditParams): Promise<ApiResult<null>> {
return post('/admin/finance/withdraw/audit', params);
}
+104
View File
@@ -0,0 +1,104 @@
/**
* 提现管理 — 类型定义
* 对应 OpenAPI: GET /admin/finance/withdraw/page
*/
/** 提现列表项(对齐 TournamentFinanceWithdrawVO */
export interface WithdrawVO {
/** 提现ID */
id: number;
/** 申请人昵称 */
nickname: string;
/** 申请人手机号 */
phone: string;
/** 申请人真实姓名 */
realName: string;
/** 提现类型(固定"银行卡" */
withdrawType: string;
/** 提现金额("0.00"格式) */
withdrawAmount: string;
/** 到账金额("0.00"格式) */
receivedAmount: string;
/** 审核状态:0=待审核,1=审核通过,2=审核驳回 */
auditStatus: number;
/** 到账状态:0=未支付,1=支付成功,2=支付失败 */
payStatus: number;
/** 流水单号 */
serialNumber: string;
/** 申请时间 */
createDate: string;
}
/** 提现列表查询参数 */
export interface WithdrawQueryParams {
page?: string;
limit?: string;
/** 提现申请人昵称 */
nickname?: string;
/** 提现申请人手机号 */
phone?: string;
/** 提现申请人真实姓名 */
realName?: string;
/** 审核状态:0/1/2 */
auditStatus?: string;
/** 到账状态:0/1/2 */
payStatus?: string;
}
export interface PageData<T> {
total: number;
list: T[];
}
export interface ApiResult<T> {
code: number;
msg: string;
data: T;
}
/** 提现详情(对齐 TournamentFinanceWithdrawInfoVO */
export interface WithdrawInfoVO {
/** 申请人昵称 */
nickname: string;
/** 申请人手机号 */
phone: string;
/** 申请人真实姓名 */
realName: string;
/** 申请时间 */
createDate: string;
/** 提现类型(固定"银行卡" */
withdrawType: string;
/** 提现金额("0.00"格式) */
withdrawAmount: string;
/** 费率 */
feeRate: string;
/** 手续费 */
feeAmount: string;
/** 到账金额("0.00"格式) */
receivedAmount: string;
/** 审核状态:0=待审核,1=审核通过,2=审核驳回 */
auditStatus: number;
/** 到账状态:0=未支付,1=支付成功,2=支付失败 */
payStatus: number;
/** 银行卡类型:1=个人 */
bankCardType: number;
/** 持卡人真实姓名 */
cardHolderName: string;
/** 银行卡号 */
bankCardNumber: string;
/** 开户行名称 */
bankName: string;
/** 支行名称 */
branchName: string;
/** 支付时间 */
payTime: string;
/** 订单号 */
orderNo: string;
/** 审核时间 */
auditDate: string;
/** 审核人昵称 */
auditNickname: string;
/** 审核图片 */
auditImg: string;
/** 审核图片列表 */
auditImgList: string[];
}