feat(consignment): 内部现货占库进入赠送冷静期并闭环发布押金

打手发布冻结履约押金,驳回/作废退还,验收释放;内部匹配履约立刻占用库存并跳过打手资料进入冷静期,撤销回库时补冻押金。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yml2213
2026-09-15 20:03:11 +08:00
co-authored by Cursor
parent 4a6215e816
commit fd1eb5815b
24 changed files with 1662 additions and 462 deletions
@@ -43,6 +43,7 @@ import { asRecord, formatMoney } from './shared'
type FinanceConfigFormValues = {
depositUnfreezeDays?: number
rewardUnfreezeEnabled?: boolean
consignmentPublishDepositYuan?: number
recharge?: {
enabled?: boolean
channelName?: string
@@ -169,6 +170,9 @@ export default function FinancePanel() {
await saveAdminWorkerFinanceConfig({
depositUnfreezeDays: Number(values.depositUnfreezeDays ?? 3),
rewardUnfreezeEnabled: values.rewardUnfreezeEnabled !== false,
consignmentPublishDepositFen: Math.round(
Number(values.consignmentPublishDepositYuan ?? 20) * 100,
),
recharge: {
enabled: values.recharge?.enabled !== false,
channelName: String(values.recharge?.channelName || '').trim(),
@@ -416,6 +420,13 @@ export default function FinancePanel() {
>
<InputNumber min={0} max={30} step={1} addonAfter="天" />
</Form.Item>
<Form.Item
label="苏尔南寄卖发布押金"
name="consignmentPublishDepositYuan"
tooltip="打手发布寄卖时从可用余额冻结的履约押金;驳回或履约完成后释放"
>
<InputNumber min={0} max={10000} step={1} addonBefore="¥" />
</Form.Item>
<Form.Item
label="报酬待解冻"
name="rewardUnfreezeEnabled"
@@ -676,6 +687,7 @@ function mapFinanceConfigToFormValues(config?: WorkerFinanceConfig): FinanceConf
return {
depositUnfreezeDays: Number(config?.depositUnfreezeDays ?? 3),
rewardUnfreezeEnabled: config?.rewardUnfreezeEnabled !== false,
consignmentPublishDepositYuan: Number(config?.consignmentPublishDepositFen ?? 2000) / 100,
recharge: {
enabled: config?.recharge.enabled !== false,
channelName: config?.recharge.channelName || '',