Files
one-pipe-system/src/api/modules/commission.ts
sexygoat 33e15314ac
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m10s
bug
2026-04-11 12:19:35 +08:00

205 lines
5.9 KiB
TypeScript

/**
* 佣金管理相关 API
*/
import { BaseService } from '../BaseService'
import type { BaseResponse } from '@/types/api'
import type {
WithdrawalRequestQueryParams,
WithdrawalRequestPageResult,
ApproveWithdrawalParams,
RejectWithdrawalParams,
WithdrawalSettingListResult,
WithdrawalSettingItem,
CreateWithdrawalSettingParams,
CommissionRecordQueryParams,
MyCommissionRecordPageResult,
MyCommissionSummary,
SubmitWithdrawalParams,
ShopCommissionRecordPageResult,
ShopFundSummaryQueryParams,
ShopFundSummaryPageResult,
ShopCommissionStatsQueryParams,
CommissionStatsResponse,
DailyCommissionStatsQueryParams,
DailyCommissionStatsItem,
ResolveCommissionParams,
MainWalletTransactionQueryParams,
MainWalletTransactionPageResult
} from '@/types/api/commission'
export class CommissionService extends BaseService {
// ==================== 提现申请管理 ====================
/**
* 获取提现申请列表
* GET /api/admin/commission/withdrawal-requests
*/
static getWithdrawalRequests(
params?: WithdrawalRequestQueryParams
): Promise<BaseResponse<WithdrawalRequestPageResult>> {
return this.get<BaseResponse<WithdrawalRequestPageResult>>(
'/api/admin/commission/withdrawal-requests',
params
)
}
/**
* 审批通过提现申请
* POST /api/admin/commission/withdrawal-requests/{id}/approve
*/
static approveWithdrawal(id: number, params?: ApproveWithdrawalParams): Promise<BaseResponse> {
return this.post<BaseResponse>(
`/api/admin/commission/withdrawal-requests/${id}/approve`,
params
)
}
/**
* 拒绝提现申请
* POST /api/admin/commission/withdrawal-requests/{id}/reject
*/
static rejectWithdrawal(id: number, params: RejectWithdrawalParams): Promise<BaseResponse> {
return this.post<BaseResponse>(`/api/admin/commission/withdrawal-requests/${id}/reject`, params)
}
// ==================== 提现配置管理 ====================
/**
* 获取提现配置列表
* GET /api/admin/commission/withdrawal-settings
*/
static getWithdrawalSettings(): Promise<BaseResponse<WithdrawalSettingListResult>> {
return this.get<BaseResponse<WithdrawalSettingListResult>>(
'/api/admin/commission/withdrawal-settings'
)
}
/**
* 新增提现配置
* POST /api/admin/commission/withdrawal-settings
*/
static createWithdrawalSetting(params: CreateWithdrawalSettingParams): Promise<BaseResponse> {
return this.post<BaseResponse>('/api/admin/commission/withdrawal-settings', params)
}
/**
* 获取当前生效的提现配置
* GET /api/admin/commission/withdrawal-settings/current
*/
static getCurrentWithdrawalSetting(): Promise<BaseResponse<WithdrawalSettingItem>> {
return this.get<BaseResponse<WithdrawalSettingItem>>(
'/api/admin/commission/withdrawal-settings/current'
)
}
// ==================== 代理商资金概况 ====================
/**
* 获取代理商资金明细
* GET /api/admin/shops/{shop_id}/commission-records
*/
static getShopCommissionRecords(
shopId: number,
params?: CommissionRecordQueryParams
): Promise<BaseResponse<ShopCommissionRecordPageResult>> {
return this.get<BaseResponse<ShopCommissionRecordPageResult>>(
`/api/admin/shops/${shopId}/commission-records`,
params
)
}
/**
* 获取代理商提现记录
* GET /api/admin/shops/{shop_id}/withdrawal-requests
*/
static getShopWithdrawalRequests(
shopId: number,
params?: WithdrawalRequestQueryParams
): Promise<BaseResponse<WithdrawalRequestPageResult>> {
return this.get<BaseResponse<WithdrawalRequestPageResult>>(
`/api/admin/shops/${shopId}/withdrawal-requests`,
params
)
}
/**
* 获取代理商资金汇总列表(含预充值余额 + 佣金)
* GET /api/admin/shops/fund-summary
*/
static getShopFundSummary(
params?: ShopFundSummaryQueryParams
): Promise<BaseResponse<ShopFundSummaryPageResult>> {
return this.get<BaseResponse<ShopFundSummaryPageResult>>(
'/api/admin/shops/fund-summary',
params
)
}
/**
* 获取代理商资金统计
* GET /api/admin/shops/{shop_id}/commission-stats
*/
static getShopCommissionStats(
shopId: number,
params?: ShopCommissionStatsQueryParams
): Promise<BaseResponse<CommissionStatsResponse>> {
return this.get<BaseResponse<CommissionStatsResponse>>(
`/api/admin/shops/${shopId}/commission-stats`,
params
)
}
/**
* 获取代理商每日佣金统计
* GET /api/admin/shops/{shop_id}/commission-daily-stats
*/
static getShopDailyCommissionStats(
shopId: number,
params?: DailyCommissionStatsQueryParams
): Promise<BaseResponse<DailyCommissionStatsItem[]>> {
return this.get<BaseResponse<DailyCommissionStatsItem[]>>(
`/api/admin/shops/${shopId}/commission-daily-stats`,
params
)
}
/**
* 发起代理商提现申请
* POST /api/admin/shops/{shop_id}/withdrawal-requests
*/
static submitShopWithdrawalRequest(
shopId: number,
params: SubmitWithdrawalParams
): Promise<BaseResponse> {
return this.post<BaseResponse>(`/api/admin/shops/${shopId}/withdrawal-requests`, params)
}
/**
* 获取预充值钱包流水
* GET /api/admin/shops/{shop_id}/main-wallet/transactions
*/
static getMainWalletTransactions(
shopId: number,
params?: MainWalletTransactionQueryParams
): Promise<BaseResponse<MainWalletTransactionPageResult>> {
return this.get<BaseResponse<MainWalletTransactionPageResult>>(
`/api/admin/shops/${shopId}/main-wallet/transactions`,
params
)
}
// ==================== 佣金记录修正 ====================
/**
* 修正待审佣金记录
* POST /api/admin/commission-records/{id}/resolve
*/
static resolveCommissionRecord(
id: number,
params: ResolveCommissionParams
): Promise<BaseResponse> {
return this.post<BaseResponse>(`/api/admin/commission-records/${id}/resolve`, params)
}
}