docs: define EJ medicine restore semantics

This commit is contained in:
2026-09-10 11:43:22 +08:00
parent d3d66970b2
commit eec3204408
@@ -6,6 +6,9 @@
- EJ 只执行 `POST /api/openapi/v1/medicine-imports` 的新增/幂等确认,不删除或清空 EJ 药材。
- EJ 中由其他来源或人工录入的药材保持不变。
- ZYT 已同步且在 EJ 中仍正常启用的药材保持名称、价格、库存和编码不变。
- ZYT 已同步但在 EJ 中被软删除的药材恢复原记录和原 `medicine_code`;被停用的药材重新启用。
- ZYT 后续新增、且从未同步过的药材追加到 EJ,并初始化零库存。
- ZYT 只增量写入或更新 EJ 返回的目录投影,不清空目录和映射。
- ZYT 中已停用或软删除的人工映射不重新启用。
- 命令默认 dry-run;只有同时提供 `--apply` 和确认令牌才执行远端导入。
@@ -43,4 +46,4 @@ php think ej-pharmacy:push-medicines \
- `ej-pharmacy:sync-catalog`:EJ → ZYT,拉取 EJ 目录变化。
- `ej-pharmacy:bootstrap-medicines`:一次性初始化并替换本地投影,不用于已有业务数据的生产环境增量同步。
如果 EJ 已存在 source 映射,但对应药材被停用或软删除,EJ 会返回冲突;此时需要先在 EJ 药材管理中恢复该药材,再重新执行增量命令
同步范围以 `source_system=zyt``source_medicine_id` 标识来源。恢复和重新启用只作用于原来由 ZYT 同步过去的药材,因此不会修改 EJ 自己新增的药材