学校膳食营养旧系统兼容治理实施清单 V1.0

复用原菜品体系和读取链路,只保护新模块已接管范围

结论

未受管项目、档口、日期和餐次完全执行原逻辑;受管范围只增加写保护。查询、点餐、消费机、移动端、菜品管理和食物成分管理保持不变。

受管范围

store_id + restaurant_id + menu_date + meal_times
存在启用计划且当前或发布版本含该餐次 → 旧写入口拒绝
未匹配 → 原逻辑继续执行

旧写入口

入口处理
PC旧菜谱保存、复制、限量业务服务写前调用统一守卫
批量排菜和Excel提交校验全部目标范围,任一受管则整批拒绝
设备增加、删除、复制菜谱写前校验,受管则不产生数据变化
其他写recipes的服务或定时任务上线前扫描,接入守卫或证明只读

统一守卫

SchoolNutritionScopeGuard 位于业务服务层。受管时返回 SCHOOL_NUTRITION_SCOPE_MANAGED;查询失败时失败关闭,不默认放行。

发布事务

  1. 锁计划与待审核版本。
  2. 校验权限、内容和核验状态。
  3. 生成快照。
  4. 锁并替换目标范围 ydy_recipes。
  5. 回读一致性。
  6. 更新发布指针、需求状态和日志。
  7. 提交;失败整体回滚。

设备推送等外部副作用在事务提交后执行,失败记录并重试。

验收重点