feat: 更新管理员导航,添加结算和奖池模块,并优化活动匹配逻辑

This commit is contained in:
2026-05-11 15:35:41 +08:00
parent 0103d25426
commit f083b28fc6
19 changed files with 1226 additions and 5 deletions

51
src/api/admin-jackpot.ts Normal file
View File

@@ -0,0 +1,51 @@
import { adminRequest } from "@/lib/admin-http";
import { API_V1_PREFIX } from "./paths";
import type {
AdminJackpotContributionsData,
AdminJackpotPoolsData,
AdminJackpotPayoutLogsData,
AdminJackpotPoolRow,
} from "@/types/api/admin-jackpot";
const A = `${API_V1_PREFIX}/admin`;
export async function getAdminJackpotPools(): Promise<AdminJackpotPoolsData> {
return adminRequest.get<AdminJackpotPoolsData>(`${A}/jackpot/pools`);
}
export type AdminJackpotPoolUpdateBody = Partial<{
current_amount: number;
contribution_rate: number;
trigger_threshold: number;
payout_rate: number;
force_trigger_draw_gap: number;
min_bet_amount: number;
status: number;
}>;
export async function putAdminJackpotPool(
poolId: number,
body: AdminJackpotPoolUpdateBody,
): Promise<AdminJackpotPoolRow> {
return adminRequest.put<AdminJackpotPoolRow>(`${A}/jackpot/pools/${poolId}`, body);
}
export type AdminJackpotLogsQuery = {
page?: number;
per_page?: number;
draw_no?: string;
};
export async function getAdminJackpotPayoutLogs(
q: AdminJackpotLogsQuery = {},
): Promise<AdminJackpotPayoutLogsData> {
return adminRequest.get<AdminJackpotPayoutLogsData>(`${A}/jackpot/payout-logs`, { params: q });
}
export async function getAdminJackpotContributions(
q: AdminJackpotLogsQuery = {},
): Promise<AdminJackpotContributionsData> {
return adminRequest.get<AdminJackpotContributionsData>(`${A}/jackpot/contributions`, { params: q });
}

View File

@@ -0,0 +1,43 @@
import { adminRequest } from "@/lib/admin-http";
import { API_V1_PREFIX } from "./paths";
import type {
AdminSettlementBatchDetailsData,
AdminSettlementBatchListData,
AdminSettlementBatchShowData,
} from "@/types/api/admin-settlement";
const A = `${API_V1_PREFIX}/admin`;
export type AdminSettlementBatchListQuery = {
page?: number;
per_page?: number;
draw_no?: string;
status?: string;
};
export async function getAdminSettlementBatches(
q: AdminSettlementBatchListQuery = {},
): Promise<AdminSettlementBatchListData> {
return adminRequest.get<AdminSettlementBatchListData>(`${A}/settlement-batches`, { params: q });
}
export async function getAdminSettlementBatch(batchId: number): Promise<AdminSettlementBatchShowData> {
return adminRequest.get<AdminSettlementBatchShowData>(`${A}/settlement-batches/${batchId}`);
}
export type AdminSettlementBatchDetailsQuery = {
page?: number;
per_page?: number;
};
export async function getAdminSettlementBatchDetails(
batchId: number,
q: AdminSettlementBatchDetailsQuery = {},
): Promise<AdminSettlementBatchDetailsData> {
return adminRequest.get<AdminSettlementBatchDetailsData>(
`${A}/settlement-batches/${batchId}/details`,
{ params: q },
);
}