feat: 新增玩家管理模块,完善钱包转账单操作能力
1. 重构玩家模块导航与元信息,将原玩家查询改为玩家列表 2. 新增完整的玩家CRUD API与前端管理页面,支持搜索、新建、编辑、删除玩家 3. 为转账单新增冲正与人工处理操作,补充状态显示与对应枚举 4. 优化用户列表表格空值展示与样式细节 5. 调整钱包子导航,移除旧的玩家钱包入口
This commit is contained in:
41
src/api/admin-player.ts
Normal file
41
src/api/admin-player.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { adminRequest } from "@/lib/admin-http";
|
||||
|
||||
import { API_V1_PREFIX } from "./paths";
|
||||
|
||||
import type {
|
||||
AdminPlayerListData,
|
||||
AdminPlayerRow,
|
||||
AdminPlayerCreatePayload,
|
||||
AdminPlayerUpdatePayload,
|
||||
AdminPlayerDeleteResult,
|
||||
} from "@/types/api/admin-player";
|
||||
|
||||
const A = `${API_V1_PREFIX}/admin`;
|
||||
|
||||
export async function getAdminPlayers(params?: {
|
||||
page?: number;
|
||||
per_page?: number;
|
||||
keyword?: string;
|
||||
status?: number;
|
||||
}): Promise<AdminPlayerListData> {
|
||||
return adminRequest.get<AdminPlayerListData>(`${A}/players`, { params });
|
||||
}
|
||||
|
||||
export async function getAdminPlayer(playerId: number): Promise<AdminPlayerRow> {
|
||||
return adminRequest.get<AdminPlayerRow>(`${A}/players/${playerId}`);
|
||||
}
|
||||
|
||||
export async function postAdminPlayer(body: AdminPlayerCreatePayload): Promise<AdminPlayerRow> {
|
||||
return adminRequest.post<AdminPlayerRow>(`${A}/players`, body);
|
||||
}
|
||||
|
||||
export async function putAdminPlayer(
|
||||
playerId: number,
|
||||
body: AdminPlayerUpdatePayload,
|
||||
): Promise<AdminPlayerRow> {
|
||||
return adminRequest.put<AdminPlayerRow>(`${A}/players/${playerId}`, body);
|
||||
}
|
||||
|
||||
export async function deleteAdminPlayer(playerId: number): Promise<AdminPlayerDeleteResult> {
|
||||
return adminRequest.delete<AdminPlayerDeleteResult>(`${A}/players/${playerId}`);
|
||||
}
|
||||
@@ -64,3 +64,28 @@ export async function getAdminPlayerWallets(
|
||||
`${A}/players/${playerId}/wallets`,
|
||||
);
|
||||
}
|
||||
|
||||
export type TransferOrderActionResult = {
|
||||
transfer_no: string;
|
||||
status: string;
|
||||
};
|
||||
|
||||
export async function reverseTransferOrder(
|
||||
transferNo: string,
|
||||
remark?: string,
|
||||
): Promise<TransferOrderActionResult> {
|
||||
return adminRequest.post<TransferOrderActionResult>(
|
||||
`${A}/wallet/transfer-orders/${transferNo}/reverse`,
|
||||
remark ? { remark } : {},
|
||||
);
|
||||
}
|
||||
|
||||
export async function manuallyProcessTransferOrder(
|
||||
transferNo: string,
|
||||
remark?: string,
|
||||
): Promise<TransferOrderActionResult> {
|
||||
return adminRequest.post<TransferOrderActionResult>(
|
||||
`${A}/wallet/transfer-orders/${transferNo}/manually-process`,
|
||||
remark ? { remark } : {},
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user