feat(admin): 新增邀请管理页
This commit is contained in:
@@ -123,6 +123,10 @@ import type {
|
||||
AdminNotificationPage,
|
||||
AdminPushChannel,
|
||||
AdminPushRule,
|
||||
AdminInvitationConfig,
|
||||
AdminInvitationRelationPage,
|
||||
AdminInviteRebatePage,
|
||||
AdminInviteRebateSummary,
|
||||
ManualDisbursementPayload,
|
||||
OperatingExpensePage,
|
||||
OperatingExpensePayload,
|
||||
@@ -1796,3 +1800,81 @@ export async function updatePushRule(
|
||||
|
||||
|
||||
|
||||
|
||||
export async function fetchAdminInvitationConfig(siteId?: number) {
|
||||
const { data } = await adminClient.get<ApiResponse<AdminInvitationConfig>>(
|
||||
'/admin/invitations/configs',
|
||||
{ params: siteId ? { site_id: siteId } : undefined }
|
||||
)
|
||||
return data.data
|
||||
}
|
||||
|
||||
export async function updateAdminInvitationConfig(payload: {
|
||||
first_month_rate: number
|
||||
second_month_rate: number
|
||||
subsequent_rate: number
|
||||
enabled: boolean
|
||||
site_id?: number
|
||||
}) {
|
||||
const { data } = await adminClient.put<ApiResponse<AdminInvitationConfig>>(
|
||||
'/admin/invitations/configs',
|
||||
payload
|
||||
)
|
||||
return data.data
|
||||
}
|
||||
|
||||
export async function fetchAdminInvitationRelations(query: {
|
||||
phone?: string
|
||||
invite_code?: string
|
||||
status?: string
|
||||
page?: number
|
||||
page_size?: number
|
||||
}) {
|
||||
const { data } = await adminClient.get<ApiResponse<Partial<AdminInvitationRelationPage>>>(
|
||||
'/admin/invitations',
|
||||
{ params: compactParams(query) }
|
||||
)
|
||||
return {
|
||||
items: data.data.items ?? [],
|
||||
total: data.data.total ?? 0,
|
||||
page: data.data.page ?? query.page ?? 1,
|
||||
page_size: data.data.page_size ?? query.page_size ?? 20,
|
||||
}
|
||||
}
|
||||
|
||||
export async function fetchAdminInviteRebates(query: {
|
||||
order_no?: string
|
||||
inviter_phone?: string
|
||||
invitee_phone?: string
|
||||
trade_role?: string
|
||||
start_date?: string
|
||||
end_date?: string
|
||||
page?: number
|
||||
page_size?: number
|
||||
}) {
|
||||
const { data } = await adminClient.get<ApiResponse<Partial<AdminInviteRebatePage>>>(
|
||||
'/admin/invitations/rebates',
|
||||
{ params: compactParams(query) }
|
||||
)
|
||||
return {
|
||||
items: data.data.items ?? [],
|
||||
total: data.data.total ?? 0,
|
||||
page: data.data.page ?? query.page ?? 1,
|
||||
page_size: data.data.page_size ?? query.page_size ?? 20,
|
||||
}
|
||||
}
|
||||
|
||||
export async function fetchAdminInviteRebateSummary(query: {
|
||||
order_no?: string
|
||||
inviter_phone?: string
|
||||
invitee_phone?: string
|
||||
trade_role?: string
|
||||
start_date?: string
|
||||
end_date?: string
|
||||
}) {
|
||||
const { data } = await adminClient.get<ApiResponse<AdminInviteRebateSummary>>(
|
||||
'/admin/invitations/rebates/summary',
|
||||
{ params: compactParams(query) }
|
||||
)
|
||||
return data.data
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user