feat(distribution): 分站可下调收号比例且不超过主站上限
让分销站能按自身能力下调收号比例扩大利润,同时把主站回收比例作为硬边界,避免分站把比例加得比主站更高。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -63,6 +63,12 @@ export function formatMoney(cent: number | undefined | null): string {
|
||||
return `¥${((cent ?? 0) / 100).toFixed(2)}`
|
||||
}
|
||||
|
||||
export function formatRatio(ratio: number | undefined | null): string {
|
||||
const value = Number(ratio || 0)
|
||||
if (!Number.isFinite(value) || value <= 0) return '--'
|
||||
return `1:${value.toFixed(1)}`
|
||||
}
|
||||
|
||||
export interface CurrentMember {
|
||||
admin_id: number
|
||||
username: string
|
||||
@@ -121,6 +127,8 @@ export interface Site {
|
||||
banners_json?: string
|
||||
announcements_json?: string
|
||||
footer_info_json?: string
|
||||
listing_qrcode_url?: string
|
||||
receive_ratio_delta?: number
|
||||
created_at: string
|
||||
}
|
||||
|
||||
@@ -330,6 +338,11 @@ export async function listSites(): Promise<Site[]> {
|
||||
return extract(resp).items ?? []
|
||||
}
|
||||
|
||||
export async function updateSite(siteID: number, payload: Partial<Pick<Site, 'receive_ratio_delta'>>): Promise<Site> {
|
||||
const resp = await api.put<ApiResponse<Site>>(`/distribution/sites/${siteID}`, payload)
|
||||
return extract(resp)
|
||||
}
|
||||
|
||||
export interface DistributionSiteDefaults {
|
||||
default_settlement_hold_days: number
|
||||
}
|
||||
@@ -483,6 +496,9 @@ export interface ReceivedListing {
|
||||
login_platform: string
|
||||
rank_level: string
|
||||
haf_coin_amount: number
|
||||
seller_ratio?: number
|
||||
seller_total_price_cent?: number
|
||||
buyer_ratio?: number
|
||||
price_cent: number
|
||||
deposit_amount_cent: number
|
||||
status: string
|
||||
|
||||
Reference in New Issue
Block a user