接单平台新增 VIP 等级体系与邀请绑定

- 等级按累计验收通过工单数自动升级(阈值后台可配),VIP1-5 默认配置 10/30/50/100
- 存量打手统一归 VIP1,原 regular 等级停用
- 注册支持邀请码绑定邀请人,每人生成唯一邀请码
- 新增 worker_level_logs 升级流水表
- 个人中心展示邀请码与升级进度,管理端等级表单支持升级阈值配置
This commit is contained in:
yml2213
2026-08-01 14:50:08 +08:00
parent 6e635b2499
commit 51d72cc283
9 changed files with 353 additions and 21 deletions
@@ -1790,6 +1790,7 @@ function LevelsPanel() {
name: string
depositFreeAmount?: number
maxActiveOrders?: number
upgradeThreshold?: number
}) {
try {
await saveAdminWorkerLevel(values)
@@ -1810,6 +1811,7 @@ function LevelsPanel() {
render: (_, row) => formatMoney(row.depositFreeAmount),
},
{ title: '最大同时接单', dataIndex: 'maxActiveOrders' },
{ title: '升级所需累计完成', dataIndex: 'upgradeThreshold' },
{ title: '状态', dataIndex: 'status' },
]
@@ -1820,10 +1822,11 @@ function LevelsPanel() {
form={form}
layout="inline"
initialValues={{
levelKey: 'regular',
name: '普通打手',
levelKey: 'vip1',
name: 'VIP1',
depositFreeAmount: 0,
maxActiveOrders: 3,
maxActiveOrders: 1,
upgradeThreshold: 0,
}}
onFinish={saveLevel}
>
@@ -1847,6 +1850,13 @@ function LevelsPanel() {
<Form.Item label="最大同时接单" name="maxActiveOrders">
<InputNumber min={1} max={999} />
</Form.Item>
<Form.Item
label="升级所需累计完成单数"
name="upgradeThreshold"
tooltip="打手累计验收通过该单数后自动升级到本等级"
>
<InputNumber min={0} max={100000} />
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">