将单套餐分配和套餐系列分配改成代理系列授权
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 6m23s

This commit is contained in:
sexygoat
2026-03-04 17:22:47 +08:00
parent 237eeed87a
commit 08d5043b3f
14 changed files with 2367 additions and 2654 deletions

View File

@@ -200,93 +200,58 @@ export interface SeriesSelectOption {
series_code: string
}
// ==================== 单套餐分配 ====================
// ==================== 代理系列授权 (新接口) ====================
/**
* 单套餐分配响应
* 佣金梯度配置
*/
export interface ShopPackageAllocationResponse {
id: number
export interface CommissionTier {
operator: '>=' // 运算符
threshold: number // 阈值
amount: number // 佣金金额(分)
}
/**
* 套餐信息(用于系列授权)
*/
export interface GrantPackageInfo {
package_id: number
package_code: string
package_name: string
series_id: number // 套餐系列ID
series_name: string // 套餐系列名称
package_name?: string
package_code?: string
cost_price: number // 成本价(分)
shelf_status?: number // 上架状态
status?: number // 状态
}
/**
* 代理系列授权响应
*/
export interface ShopSeriesGrantResponse {
id: number
shop_id: number
shop_name: string
allocator_shop_id: number // 分配者店铺ID0表示平台分配
allocator_shop_name: string // 分配者店铺名称
series_allocation_id?: number | null // 关联的系列分配ID可空
cost_price: number // 该代理的成本价(分)
status: number // 1:启用, 2:禁用
created_at: string
updated_at: string
}
/**
* 单套餐分配查询参数
*/
export interface ShopPackageAllocationQueryParams extends PaginationParams {
shop_id?: number // 店铺ID筛选
package_id?: number // 套餐ID筛选
series_allocation_id?: number // 系列分配ID筛选
allocator_shop_id?: number // 分配者店铺ID筛选
status?: number // 状态筛选
}
/**
* 创建单套餐分配请求
*/
export interface CreateShopPackageAllocationRequest {
package_id: number // 套餐ID必填
shop_id: number // 店铺ID必填
cost_price: number // 覆盖的成本价(分),必填
}
/**
* 更新单套餐分配请求
*/
export interface UpdateShopPackageAllocationRequest {
cost_price: number // 只允许修改成本价
}
/**
* 更新单套餐分配状态请求
*/
export interface UpdateShopPackageAllocationStatusRequest {
status: number // 1:启用, 2:禁用
}
// ==================== 套餐系列分配 ====================
/**
* 套餐系列分配响应
*/
export interface ShopSeriesAllocationResponse {
id: number
series_id: number
series_name: string
series_code: string // 套餐系列编码
shop_id: number
shop_name: string
allocator_shop_id: number // 分配者店铺ID0表示平台分配
series_code?: string
commission_type: 'fixed' | 'tiered' // 佣金类型:固定或梯度
one_time_commission_amount: number // 固定佣金金额(分)
commission_tiers: CommissionTier[] // 梯度配置列表
force_recharge_locked: boolean // 是否被平台锁定true时前端只读
force_recharge_enabled: boolean // 是否启用强充
force_recharge_amount: number // 强充金额(分)
allocator_shop_id: number // 分配者店铺ID0表示平台
allocator_shop_name: string // 分配者店铺名称
enable_one_time_commission: boolean // 是否启用一次性佣金
one_time_commission_amount: number // 该代理能拿的一次性佣金金额上限(分)
one_time_commission_threshold?: number // 一次性佣金触发阈值(分)
one_time_commission_trigger?: 'first_recharge' | 'accumulated_recharge' // 一次性佣金触发类型
enable_force_recharge: boolean // 是否启用强制充值
force_recharge_amount?: number // 强制充值金额(分)
force_recharge_trigger_type?: 1 | 2 // 强充触发类型1(单次充值)、2(累计充值)
package_count?: number // 套餐数量
packages?: GrantPackageInfo[] // 套餐列表
status: number // 1:启用, 2:禁用
created_at: string
updated_at: string
updated_at?: string
}
/**
* 套餐系列分配查询参数
* 代理系列授权查询参数
*/
export interface ShopSeriesAllocationQueryParams extends PaginationParams {
export interface ShopSeriesGrantQueryParams extends PaginationParams {
shop_id?: number // 店铺ID筛选
series_id?: number // 系列ID筛选
allocator_shop_id?: number // 分配者店铺ID筛选
@@ -294,37 +259,40 @@ export interface ShopSeriesAllocationQueryParams extends PaginationParams {
}
/**
* 创建套餐系列分配请求
* 创建代理系列授权请求
*/
export interface CreateShopSeriesAllocationRequest {
series_id: number // 套餐系列ID必填
export interface CreateShopSeriesGrantRequest {
shop_id: number // 店铺ID必填
one_time_commission_amount: number // 一次性佣金金额上限(分),必填
enable_one_time_commission?: boolean // 是否启用一次性佣金,可选
one_time_commission_threshold?: number // 一次性佣金触发阈值(分),可选
one_time_commission_trigger?: 'first_recharge' | 'accumulated_recharge' // 一次性佣金触发类型,可选
enable_force_recharge?: boolean // 是否启用强制充值,可选
force_recharge_amount?: number // 强制充值金额(分),可选
force_recharge_trigger_type?: 1 | 2 // 强充触发类型,可选
series_id: number // 系列ID,必填
one_time_commission_amount?: number // 固定佣金金额(分),固定模式时必填
commission_tiers?: CommissionTier[] // 梯度配置列表,梯度模式时必填
enable_force_recharge?: boolean // 是否启用强充
force_recharge_amount?: number // 强充金额(分)
packages?: GrantPackageInfo[] // 套餐列表
}
/**
* 更新套餐系列分配请求
* 更新代理系列授权请求
*/
export interface UpdateShopSeriesAllocationRequest {
enable_one_time_commission?: boolean // 是否启用一次性佣金
one_time_commission_amount?: number // 一次性佣金金额上限(分)
one_time_commission_threshold?: number // 一次性佣金触发阈值(分
one_time_commission_trigger?: 'first_recharge' | 'accumulated_recharge' // 一次性佣金触发类型
enable_force_recharge?: boolean // 是否启用强制充值
force_recharge_amount?: number // 强制充值金额(分)
force_recharge_trigger_type?: 1 | 2 // 强充触发类型
status?: number // 状态
export interface UpdateShopSeriesGrantRequest {
one_time_commission_amount?: number // 固定佣金金额(分)
commission_tiers?: CommissionTier[] // 梯度配置列表
enable_force_recharge?: boolean // 是否启用强充force_recharge_locked=true时忽略
force_recharge_amount?: number // 强充金额(分)
}
/**
* 更新套餐系列分配状态请求
* 管理套餐请求中的套餐项
*/
export interface UpdateShopSeriesAllocationStatusRequest {
status: number // 1:启用, 2:禁用
export interface GrantPackageItem {
package_id?: number // 套餐ID
cost_price?: number // 成本价(分)
remove?: boolean | null // 是否删除该套餐授权true=删除)
}
/**
* 管理套餐请求
*/
export interface ManageGrantPackagesRequest {
packages?: GrantPackageItem[] | null // 套餐操作列表
}