feat: 对接订单管理页面相关接口字段

This commit is contained in:
ZhuRui
2026-07-30 10:55:13 +08:00
parent 444b6f60a5
commit fee0af174e
16 changed files with 1154 additions and 406 deletions
+106
View File
@@ -0,0 +1,106 @@
/**
* 订单管理 API
* 注意:/admin 前缀已通过 VITE_API_BASE_URL 统一注入(见 .env.*),此文件中只写业务路径。
*/
import { get, post } from '@/utils/request';
import { USE_MOCK, MOCK_DELAY } from '@/config/mock';
import { buildMockOrderListPage } from '@/config/mock/orderList';
import { MOCK_ORDER_DETAIL } from '@/config/mock/orderDetail';
import {
MOCK_ORDER_PLAYER_LIST,
buildMockOrderPlayerListPage,
} from '@/config/mock/orderPlayerList';
import type {
OrderListQueryParams,
OrderDetailQueryParams,
OrderPlayerListQueryParams,
RetryRefundParams,
TournamentAdminOrderPageVO,
TournamentAdminOrderInfoVO,
TournamentAdminOrderInfoPageVO,
PageData,
ApiResult,
} from './types';
export type {
TournamentAdminOrderPageVO,
TournamentAdminOrderInfoVO,
TournamentAdminOrderInfoPageVO,
InnerRefundInfo,
OrderListQueryParams,
OrderDetailQueryParams,
OrderPlayerListQueryParams,
RetryRefundParams,
PageData,
ApiResult,
} from './types';
const delay = (ms: number) => new Promise<void>((resolve) => setTimeout(resolve, ms));
/**
* 订单管理 - 订单分页
* GET /admin/manager/order/page → /manager/order/page
*/
export async function getOrderList(
params: OrderListQueryParams,
): Promise<ApiResult<PageData<TournamentAdminOrderPageVO>>> {
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: buildMockOrderListPage(page, limit),
};
}
return get('/manager/order/page', params as Record<string, any>);
}
/**
* 订单管理 - 订单详情
* GET /admin/manager/order/info → /manager/order/info
*/
export async function getOrderDetail(
params: OrderDetailQueryParams,
): Promise<ApiResult<TournamentAdminOrderInfoVO>> {
if (USE_MOCK) {
await delay(MOCK_DELAY);
return {
code: 200,
msg: 'success',
data: { ...MOCK_ORDER_DETAIL },
};
}
return get('/manager/order/info', params as Record<string, any>);
}
/**
* 订单管理 - 订单详情 - 选手列表
* GET /admin/manager/order/info/page → /manager/order/info/page
*/
export async function getOrderPlayerList(
params: OrderPlayerListQueryParams,
): Promise<ApiResult<PageData<TournamentAdminOrderInfoPageVO>>> {
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: buildMockOrderPlayerListPage(page, limit),
};
}
return get('/manager/order/info/page', params as Record<string, any>);
}
/**
* 订单管理 - 重新退款
* POST /admin/manager/order/retryRefund → /manager/order/retryRefund
*/
export function retryRefundOrder(
params: RetryRefundParams,
): Promise<ApiResult<Record<string, never>>> {
return post('/manager/order/retryRefund', params);
}
+185
View File
@@ -0,0 +1,185 @@
/**
* 订单管理 — 类型定义
* 对应 OpenAPI: /admin/manager/order/page
*/
/** 订单列表项 */
export interface TournamentAdminOrderPageVO {
/** 订单编号 */
orderNo: string;
/** 选手ID */
uniqueId: number;
/** 赛事名称 */
name: string;
/** 选手名称 */
realName: string;
/** 手机号 */
phone: string;
/** 报名比赛组别名称 */
categoryName: string;
/** 报名人名称 */
creatorName: string;
/** 报名人手机号 */
creatorPhone: string;
/** 报名人一共报名人数 */
creatorSignupCount: number;
/** 订单金额;0.00格式 */
creatorSignupFee: string;
/** 优惠金额;0.00格式 */
creatorSignupFeeDiscount: string;
/** 实付金额;0.00格式 */
creatorSignupFeeActual: string;
/** 退款金额;0.00格式 */
creatorSignupFeeRefund: string;
/** 订单时间;yyyy.MM.dd HH:mm:ss */
orderTime: string;
/** 支付时间;yyyy.MM.dd HH:mm:ss */
payTime: string;
/** 订单状态;1=已支付,2=部分退款,3=全部退款,4=已关闭,-1=其他 */
orderStatus: number;
/** 退款状态;1=无退款,2=退款成功,3=退款失败,-1=其他 */
refundStatus: number;
}
/** 订单列表查询参数 */
export interface OrderListQueryParams {
page?: string;
limit?: string;
/** 订单时间开始 yyyy-MM-dd */
orderDate?: string;
/** 订单时间结束 yyyy-MM-dd */
orderDateEnd?: string;
/** 订单编号 */
orderNo?: string;
/** 赛事名称 */
tName?: string;
/** 选手名称 */
sName?: string;
/**
* 订单状态
* 不传=全部、1=支付成功,2=部分退款,3=全部退款,4=超时关闭
*/
status?: string;
/**
* 退款状态
* 不传=全部、0=退款失败,1=退款成功
*/
refundStatus?: string;
}
/** 分页数据 */
export interface PageData<T> {
total: number;
list: T[];
}
/** 统一响应包裹 */
export interface ApiResult<T> {
code: number;
msg: string;
data: T;
}
// ============================================================
// 订单详情(对应 /manager/order/info
// ============================================================
/** 退款记录 */
export interface InnerRefundInfo {
/** 已退金额;0.00格式 */
refundedAmount: string;
/** 总退款次数(接口实际返回 string) */
totalRefundCount: string;
/** 退款金额;0.00格式 */
refundAmount: string;
/** 是否全部退款;0=否,1=是(接口实际返回 string) */
isFullRefund: string;
/** 退款方式 */
refundMethod: string;
/** 退款申请时间 */
refundApplyTime: string;
/** 第三方退款单号 */
refundOutTradeNo: string;
/** 退款完成时间 */
refundTime: string;
}
/** 订单详情 */
export interface TournamentAdminOrderInfoVO {
/** 赛事名称 */
tournamentName: string;
/** 订单编号 */
orderNumber: string;
/** 订单时间 */
orderTime: string;
/** 支付时间 */
payTime: string;
/** 订单金额;0.00格式 */
orderAmount: string;
/** 优惠金额;0.00格式 */
discountAmount: string;
/** 实付金额;0.00格式 */
payAmount: string;
/** 退款金额;0.00格式 */
refundAmount: string;
/** 退款信息list */
refundInfoList: InnerRefundInfo[];
}
/** 订单详情查询参数 */
export interface OrderDetailQueryParams {
/** 订单编号 */
orderNo: string;
/** 选手ID */
uniqueId: string;
}
// ============================================================
// 订单详情 — 选手列表(对应 /manager/order/info/page
// ============================================================
/** 订单下选手信息 */
export interface TournamentAdminOrderInfoPageVO {
/** 姓名 */
realName: string;
/** 性别;1=男,2=女(接口实际返回 string */
gender: string;
/** 手机号 */
phone: string;
/** 证件号 */
idCard: string;
/** 证件号图片 */
idCardImg: string;
/** 选手身份证图片列表 */
idCardImgList: string[];
/** 选手组别名称 */
categoryName: string;
/** 订单金额;0.00 */
orderAmount: string;
/** 优惠金额;0.00 */
discountAmount: string;
/** 实付金额;0.00 */
payAmount: string;
/** 退款金额;0.00 */
refundAmount: string;
}
/** 选手列表查询参数 */
export interface OrderPlayerListQueryParams {
/** 订单编号 */
orderNo: string;
/** 选手ID */
uniqueId: string;
page: string;
limit: string;
}
// ============================================================
// 重新退款(对应 /manager/order/retryRefund
// ============================================================
/** 重新退款请求参数 */
export interface RetryRefundParams {
/** 支付单号 */
payOrderNo: string;
}