系统参数与版本
全局参数、规则/算法版本与通知订阅
系统参数
12条
规则/算法版本
3个
通知规则
4条
系统参数
| 参数键 | 分组 | 名称 | 值 | 生效时机 | 影响范围 | 更新人 | 更新时间 | 操作 |
|---|---|---|---|---|---|---|---|---|
| forecast.calibration | {"bands":[{"key":"预测 0 件","sample":732,"sumModel":-122.99999999999997,"sumActual":257,"k":1,"zeroShare":0.732,"hardZero":false,"fitted":false,"q10":null,"q50":null,"q90":null,"qSample":0,"qFitted":false},{"key":"预测 < 1 件","sample":21659,"sumModel":11327.199999999459,"sumActual":7987,"k":0.7051,"zeroShare":0.725,"hardZero":false,"fitted":true,"q10":0,"q50":0,"q90":3.546,"qSample":21659,"qFitted":true},{"key":"预测 1–3 件","sample":9419,"sumModel":13326.200000000284,"sumActual":7589,"k":0.5695,"zeroShare":0.524,"hardZero":false,"fitted":true,"q10":0,"q50":0,"q90":2.927,"qSample":9419,"qFitted":true},{"key":"预测 3–7 件","sample":573,"sumModel":2150.400000000004,"sumActual":1321,"k":0.6143,"zeroShare":0.192,"hardZero":false,"fitted":true,"q10":0,"q50":0.904,"q90":2.17,"qSample":573,"qFitted":true},{"key":"预测 7–15 件","sample":13,"sumModel":109.39999999999998,"sumActual":55,"k":0.5027,"zeroShare":0.077,"hardZero":false,"fitted":true,"q10":null,"q50":null,"q90":null,"qSample":13,"qFitted":false},{"key":"预测 ≥ 15 件","sample":0,"sumModel":0,"sumActual":0,"k":1,"zeroShare":0,"hardZero":false,"fitted":false,"q10":null,"q50":null,"q90":null,"qSample":0,"qFitted":false}],"q10":0,"q50":0,"q90":3.546,"hardZeroK":0.05,"trainFrom":"2025-06-02","trainTo":"2025-06-30","trainSamples":32396,"periodDays":7,"fittedAt":"2026-09-25 11:51:25","note":"校准系数 k = 该档 Σ实际 ÷ Σ预测(拟合自 32396 个回测样本、5 个锚点);k < 5% 的档直接归零(硬零膨胀,阈值可扫可调);该档没有样本时不校准、原值通过(不会归零);区间 = 实际÷校准后预测 的 10%/90% 分位数(含 0,故 p10 可能为 0);**按预测档分别取**,样本 ≥30 的档用自己的分位数(本次 3 个档),其余回退全局 0~3.546。"} | - | - | 页面操作 | 2026-09-25 11:51:25 | |||
| pipeline.lastRun | {"token":"PIPE-muflud61-ne0p6","actor":"AI ??","reason":"????:???? + ?????????","stages":[{"stage":"clean","label":"① 销量清洗","status":"成功","rows":516988,"ms":40494,"message":"原始 516988 行 → 清洗 516988 行(节假日还原 17276 行),断货判定 704 行","extra":{"rawRows":516988,"cleanedRows":516988,"holidayAdjusted":17276,"oosStockoutRows":704,"oosRestoredQty":59,"statDates":728}},{"stage":"forecast","label":"② 需求预测","status":"成功","rows":6315,"ms":3532,"message":"6315 行预测(加权移动平均(近7天×0.4 + 近7-14天×0.6))","extra":{"rows":6315,"stores":58,"skcs":929,"calibrated":1,"zeroedRows":0,"batchDate":"2026-09-21","method":"加权移动平均(近7天×0.4 + 近7-14天×0.6) + 校准系数(按预测档,拟合于 2026-09-24)"}},{"stage":"goal","label":"③ 目标库存","status":"成功","rows":37890,"ms":28694,"message":"37890 行目标库存(批次 2026-09-21)","extra":{"rows":37890,"combos":6315,"batchDate":"2026-09-21"}}],"status":"成功","startedAt":"2026-09-24 22:06:01","finishedAt":"2026-09-24 22:07:14","ms":72733,"summary":"① 销量清洗:成功 516988 行(40.5s);② 需求预测:成功 6315 行(3.5s);③ 目标库存:成功 37890 行(28.7s)"} | - | - | - | 2026-09-24 22:07:14 | |||
| retention.audit_days | 保留策略 | 审计日志保留 | 1095 | 立即 | 审计与合规 | 系统 | 2025-06-11 10:00:00 | |
| sys.brand.code | 全局 | 当前品牌标识 | 女装 | 下次批次生效 | 全部页面标题 | 系统 | 2025-06-11 10:00:00 | |
| decision.default_scene | 决策 | 默认场景 | replenish | 立即 | 决策页默认筛选 | 王运营 | 2025-06-11 10:00:00 | |
| decision.snapshot_time | 决策 | 决策日快照时点 | 00:00 | 下次批次生效 | 全部页面 | 王运营 | 2025-06-11 10:00:00 | |
| security.auth_mode | 安全 | 接口鉴权开关 | off | 立即生效 | 全部接口访问 | 鉴权测试 | 2026-09-23 14:42:45 | |
| security.session_hours | 安全 | 会话有效期 | 12 | 下次登录生效 | 登录会话时长 | 系统 | 2025-06-11 10:00:00 | |
| security.strict_authz | 安全 | 严格授权(模块级) | off | 立即生效 | 写接口的模块权限判定 | 鉴权测试 | 2026-09-23 14:42:45 | |
| perf.batch_timeout_sec | 性能 | 批次硬超时 | 300 | 下次批次生效 | 求解时长 | 系统 | 2025-06-11 10:00:00 | |
| perf.page_size_max | 性能 | 分页上限 | 500 | 立即 | 全部列表接口 | 操作测试 | 2026-09-23 14:44:02 | |
| cost.model | 成本模型 | 五成本模型参数 | {"freightBasePerPack":12,"freightPerUnitCross":0.6,"crossZoneMultiplier":1.8,"grossMarginPerUnit":80,"avgTransitDays":2,"laborPickPerPack":6,"laborReceivePerStore":10,"managementIntraZone":0,"managementCrossZone":40,"holdingRatePerYear":0.25,"unitCostRate":0.38} | 下次批次生效 | 调拨收益测算与单据成本 | 冒烟测试 | 2026-09-23 14:40:59 |
版本与回滚点
| 版本 | 类型 | 内容 | 状态 | 回滚点 | 操作人 | 时间 |
|---|---|---|---|---|---|---|
| v3.2 | algo | 目标库存加权系数调优(0.8/0.2) | 生效 | AV-3.1 | 算法组 | 2025-10-15 09:00:00 |
| v2.0 | rule | 满足周数分档 + 保护期 10 天 + 起调量 2 件 | 生效 | RV-2025.09 | 王运营 | 2025-10-01 09:00:00 |
| v1.9 | rule | 残码判定补入主码 3 个分支 | 已回滚 | RV-2025.08 | 王运营 | 2025-09-01 09:00:00 |
通知订阅
| 角色 | 事件 | 渠道 | 启用 | 免打扰 |
|---|---|---|---|---|
| 商品运营 | 阻断级数据质量失败 | 钉钉 | 已启用 | - |
| 商品运营 | 约束命中异常(命中率为 0) | 企微 | 已启用 | 22:00-08:00 |
| 物流计划 | 下发失败 / 回执超时 | 钉钉 | 已启用 | - |
| 区域经理 | 本周调拨建议待审批 | 邮件 | 已启用 | - |
运维例行任务
库存快照天数
52天
已满足断货还原条件(≥2 天)
最近备份
无
尚未备份
备份份数
0份
自动备份已关闭(原策略:保留最近 7 份,重新开启即恢复)
自动备份
已关闭
BACKUP_DIR=off(手动备份仍可用)
定时任务
已启用
每 30 分钟一次
写锁等待
5000ms
busy_timeout
i每日自动备份已关闭(服务环境变量 BACKUP_DIR=off):例行任务不会再写数据库备份,所以这里只会看到以前留下的文件。手动备份随时可用:点下面的「手动备份数据库」,会把一致性快照写进 /opt/tfn-api/data/backup;也可以在服务器上跑 tools/make-prod-backup.sh(VACUUM INTO + gzip,顺带算出 sha256)。重新开启自动备份:把仓库里 deploy-assets/tfn-api.service 的 BACKUP_DIR=off 去掉再部署。
i定时任务:清理过期会话 + 每日库存快照(断货还原的前提)+ 每日数据库备份(已关闭)。下面三个按钮是手动触发同一套逻辑,每次操作都会写审计、都会要求填原因。备份文件只能滚动清理,没有删除接口(避免误删唯一一份备份)。
| 快照日期 | 行数 |
|---|---|
| 2026-10-28 | 43972 |
| 2026-10-27 | 43972 |
| 2026-10-26 | 43972 |
| 2026-10-25 | 43972 |
| 2026-10-24 | 43972 |