feat: 新增客服备用金台账与后台用户中文显示名
- 新增备用金账户、流水、支出、对账与权限 - 后台用户支持中文显示名并同步备用金姓名 - 审计、登录记录、任务及工单操作人优先展示中文名 - 补充备用金与人工支出方案文档
This commit is contained in:
@@ -0,0 +1,105 @@
|
||||
import { apiGet, apiPatch, apiPost } from '@/lib/http'
|
||||
import type {
|
||||
AdminFundAccountDetailResult,
|
||||
AdminFundAccountListResult,
|
||||
AdminFundExpenseListResult,
|
||||
AdminFundMyAccountResult,
|
||||
AdminFundOverview,
|
||||
AdminFundReconciliationListResult,
|
||||
AdminFundSetupOptions,
|
||||
} from '@/types/admin'
|
||||
|
||||
export function fetchAdminFundOverview() {
|
||||
return apiGet<AdminFundOverview>('/api/v1/admin/fund/overview')
|
||||
}
|
||||
|
||||
export function fetchAdminFundMyAccount() {
|
||||
return apiGet<AdminFundMyAccountResult>('/api/v1/admin/fund/my')
|
||||
}
|
||||
|
||||
export function fetchAdminFundAccounts(params?: Record<string, unknown>) {
|
||||
return apiGet<AdminFundAccountListResult>('/api/v1/admin/fund/accounts', params)
|
||||
}
|
||||
|
||||
export function fetchAdminFundAccountDetail(accountId: number, params?: Record<string, unknown>) {
|
||||
return apiGet<AdminFundAccountDetailResult>(`/api/v1/admin/fund/accounts/${accountId}`, params)
|
||||
}
|
||||
|
||||
export function fetchAdminFundSupervisors() {
|
||||
return apiGet<{ items: AdminFundAccountListResult['items'] }>('/api/v1/admin/fund/supervisors')
|
||||
}
|
||||
|
||||
export function fetchAdminFundSetupOptions() {
|
||||
return apiGet<AdminFundSetupOptions>('/api/v1/admin/fund/options')
|
||||
}
|
||||
|
||||
export function createAdminFundAccount(payload: Record<string, unknown>) {
|
||||
return apiPost<{ account: AdminFundAccountListResult['items'][number] }>(
|
||||
'/api/v1/admin/fund/accounts',
|
||||
payload,
|
||||
)
|
||||
}
|
||||
|
||||
export function ensureAdminFundAgentAccounts(payload: Record<string, unknown>) {
|
||||
return apiPost<{
|
||||
createdCount: number
|
||||
items: Array<{ id: number; accountNo: string; ownerName: string }>
|
||||
}>('/api/v1/admin/fund/accounts/ensure-agents', payload)
|
||||
}
|
||||
|
||||
export function updateAdminFundAccount(accountId: number, payload: Record<string, unknown>) {
|
||||
return apiPatch<{ account: AdminFundAccountListResult['items'][number] }>(
|
||||
`/api/v1/admin/fund/accounts/${accountId}`,
|
||||
payload,
|
||||
)
|
||||
}
|
||||
|
||||
export function createAdminFundFunding(accountId: number, payload: Record<string, unknown>) {
|
||||
return apiPost<Record<string, unknown>>(
|
||||
`/api/v1/admin/fund/accounts/${accountId}/funding`,
|
||||
payload,
|
||||
)
|
||||
}
|
||||
|
||||
export function createAdminFundIssue(accountId: number, payload: Record<string, unknown>) {
|
||||
return apiPost<Record<string, unknown>>(`/api/v1/admin/fund/accounts/${accountId}/issue`, payload)
|
||||
}
|
||||
|
||||
export function createAdminFundReturn(accountId: number, payload: Record<string, unknown>) {
|
||||
return apiPost<Record<string, unknown>>(
|
||||
`/api/v1/admin/fund/accounts/${accountId}/return`,
|
||||
payload,
|
||||
)
|
||||
}
|
||||
|
||||
export function createAdminFundExpense(accountId: number, payload: Record<string, unknown>) {
|
||||
return apiPost<{ expense: AdminFundExpenseListResult['items'][number] }>(
|
||||
`/api/v1/admin/fund/accounts/${accountId}/expenses`,
|
||||
payload,
|
||||
)
|
||||
}
|
||||
|
||||
export function fetchAdminFundExpenses(params?: Record<string, unknown>) {
|
||||
return apiGet<AdminFundExpenseListResult>('/api/v1/admin/fund/expenses', params)
|
||||
}
|
||||
|
||||
export function fetchAdminFundReconciliations(params?: Record<string, unknown>) {
|
||||
return apiGet<AdminFundReconciliationListResult>('/api/v1/admin/fund/reconciliations', params)
|
||||
}
|
||||
|
||||
export function createAdminFundReconciliation(payload: Record<string, unknown>) {
|
||||
return apiPost<{ reconciliation: AdminFundReconciliationListResult['items'][number] }>(
|
||||
'/api/v1/admin/fund/reconciliations',
|
||||
payload,
|
||||
)
|
||||
}
|
||||
|
||||
export function confirmAdminFundReconciliation(
|
||||
reconciliationId: number,
|
||||
payload: Record<string, unknown>,
|
||||
) {
|
||||
return apiPost<{ reconciliation: AdminFundReconciliationListResult['items'][number] }>(
|
||||
`/api/v1/admin/fund/reconciliations/${reconciliationId}/confirm`,
|
||||
payload,
|
||||
)
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
export * from './auth'
|
||||
export * from './dashboard'
|
||||
export * from './finance'
|
||||
export * from './fund'
|
||||
export * from './users'
|
||||
export * from './audit-logs'
|
||||
export * from './platform-config'
|
||||
|
||||
@@ -35,6 +35,7 @@ export function fetchAdminUsers(params?: Record<string, unknown>) {
|
||||
|
||||
export function createAdminUser(payload: {
|
||||
username: string
|
||||
displayName?: string
|
||||
password: string
|
||||
role: string
|
||||
status?: string
|
||||
@@ -42,6 +43,13 @@ export function createAdminUser(payload: {
|
||||
return apiPost<{ user: AdminUserListItem }>('/api/v1/admin/users', payload)
|
||||
}
|
||||
|
||||
export function updateAdminUserDisplayName(
|
||||
userId: number | string,
|
||||
payload: { displayName: string },
|
||||
) {
|
||||
return apiPost<{ user: AdminUserListItem }>(`/api/v1/admin/users/${userId}/display-name`, payload)
|
||||
}
|
||||
|
||||
export function updateAdminUserRole(userId: number | string, payload: { role: string }) {
|
||||
return apiPost<{ user: AdminUserListItem }>(`/api/v1/admin/users/${userId}/role`, payload)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user