From eec320440863916da363706dce8e2de5b5e25757 Mon Sep 17 00:00:00 2001 From: long <452591453@qq.com> Date: Thu, 10 Sep 2026 11:43:22 +0800 Subject: [PATCH] docs: define EJ medicine restore semantics --- docs/ej-pharmacy-incremental-medicine-sync.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/ej-pharmacy-incremental-medicine-sync.md b/docs/ej-pharmacy-incremental-medicine-sync.md index 8a3ff0821..89fbabafa 100644 --- a/docs/ej-pharmacy-incremental-medicine-sync.md +++ b/docs/ej-pharmacy-incremental-medicine-sync.md @@ -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 自己新增的药材。