This commit is contained in:
dzc committed 2026-11-11 11:12:24 +08:00
1 parent ee06dbaf9b
commit 25b7f38df8
17 files changed
+1539 -261

No files matched your search

+37 -2
View File
@@ -1,8 +1,43 @@
import request from '@/config/axios'
export interface BrokerageRecordVO {
id: number
userId: number
userAvatar?: string
userNickname?: string
sourceUserId?: number | null
sourceUserAvatar?: string
sourceUserNickname?: string
bizId: string
bizType: number
sourceUserLevel?: number | null
title: string
description: string
price: number | string
status: number
unfreezeTime?: string | number
createTime: string | number
}
export interface BrokerageRecordPageParams {
pageNo: number
pageSize: number
userId?: number | string | null
sourceUserId?: number | string | null
sourceUserLevel?: number
bizType?: number
bizId?: string
status?: number | null
createTime?: string[] | null
incomeOnly?: boolean
}
// 查询佣金记录列表
export const getBrokerageRecordPage = async (params: any) => {
return await request.get({ url: `/trade/brokerage-record/page`, params })
export const getBrokerageRecordPage = async (params: BrokerageRecordPageParams) => {
return await request.get<{ list: BrokerageRecordVO[]; total: number }>({
url: '/trade/brokerage-record/page',
params
})
}
// 查询佣金记录详情
+63 -3
View File
@@ -1,4 +1,42 @@
import request from '@/config/axios'
import type { UserExportProgress } from '@/api/member/user'
export interface OpenTypeBrokerageRecipient {
userId: number
userCode?: string
nickname?: string
avatar?: string
memberExists: boolean
sourceUserLevel?: number | null
settledPrice: number | string
pendingPrice: number | string
cancelledPrice: number | string
}
export interface OpenTypeHistoryVO {
id: number
memberId: number
memberNickname?: string
memberUserCode?: string
memberAvatar?: string
memberMobile?: string
vipTitle?: string
vipDuration?: string
payPrice: number
payStatus: boolean | number | string
payTime?: string | number
payRefundId?: number
refundStatus?: number | null
refundPayPrice?: number
refundTime?: string | number
createTime?: string | number
brokerageSummary?: {
settledPrice: number | string
pendingPrice: number | string
cancelledPrice: number | string
recipients: OpenTypeBrokerageRecipient[]
}
}
// 会员开通记录 API
export const OpenTypeHistoryApi = {
@@ -9,9 +47,31 @@ export const OpenTypeHistoryApi = {
return await request.post({ url: `/member/open-type/history/admin-open`, data })
},
page: async (params: any) => {
return await request.get({ url: `/member/open-type/history/page`, params })
return await request.get<{ list: OpenTypeHistoryVO[]; total: number }>({
url: `/member/open-type/history/page`,
params
})
},
exportHistory: (params: Record<string, unknown>) => {
return request.post<UserExportProgress>({
url: '/member/open-type/history/export-async',
params
})
},
getExportProgress: (taskId: string) => {
return request.get<UserExportProgress>({
url: '/member/open-type/history/export-progress',
params: { taskId }
})
},
downloadExport: (taskId: string) => {
return request.download<Blob>({
url: '/member/open-type/history/export-download',
params: { taskId },
timeout: 300000
})
},
refund: async (params: any) => {
return await request.get({ url: `/member/open-type/history/refund`, params })
},
}
}
}
+9
View File
@@ -1,11 +1,18 @@
import request from '@/config/axios'
export interface BrokerageIncomeSummary {
settledPrice: number | string
pendingPrice: number | string
}
export interface MemberSummary {
id: number
userCode?: string | null
nickname?: string | null
avatar?: string | null
memberExists: boolean
brokerageSummary?: BrokerageIncomeSummary
contributionSummary?: BrokerageIncomeSummary
}
export interface UserInviterVO extends MemberSummary {
@@ -23,6 +30,7 @@ export interface UserVO {
id: number
userCode?: string | null
inviter?: UserInviterVO | null
brokerageSummary?: BrokerageIncomeSummary
avatar: string | undefined
birthday: number | undefined
createTime: number | undefined
@@ -90,6 +98,7 @@ export const getUser = async (id: number) => {
export const getBrokerageChildrenPage = (params: {
bindUserId: number
contributionUserId?: number
pageNo: number
pageSize: number
}) => {