多项修复:滴数框 / 零售价显示 / 精油英文名保存 / 再次审核通知 #39

Merged
fam merged 2 commits from fix/multi-issue-batch into main 2026-04-15 21:08:12 +00:00
Contributor

修复项

  1. 编辑配方滴数框加宽 — 42→58px,50.5 不再被上下箭头遮挡
  2. 零售价==会员价也显示 — 带玫瑰护手霜等配方卡片不再留空
  3. 精油英文名保存无效(严重) — 根因:getEnglishName 先看静态 OIL_CARDS[name].en,遮住了用户保存到 DB 的 meta.enName。受影响 oils(DB 已写入但显示被覆盖):温柔呵护(Clary Calm)、仕女呵护(Soft Talk Touch)、乐活(DigestZ)、顺畅呼吸(Easy Air)、牛至呵护/薄荷呵护等
  4. 再次审核配方被非管理员修改时通知管理员 — 含字段级 before→after diff

不改线上数据库的审计报告(Issue 5)

  • oils 表 name 是 PRIMARY KEY,不存在重名
  • en_name 无重复
  • 2 个 recipe_ingredients 孤儿引用(对比 Excel 同样问题,是既有数据问题不是新 bug):
    • recipe #77「太伏太溪」: 特瑞活力 15 滴 — 系统没有这个精油
    • recipe #184「学霸神助」: 全神贯注 8 滴 — 系统没有(可能应是「全神贯注呵护」)

测试

  • vitest: 360/360(新增 7 条:fmtCostWithRetail、getEnglishName 优先级)
  • cypress: 261/261(新增 re-review-notify.cy.js 2 条)
## 修复项 1. **编辑配方滴数框加宽** — 42→58px,50.5 不再被上下箭头遮挡 2. **零售价==会员价也显示** — 带玫瑰护手霜等配方卡片不再留空 3. **精油英文名保存无效(严重)** — 根因:`getEnglishName` 先看静态 `OIL_CARDS[name].en`,遮住了用户保存到 DB 的 `meta.enName`。受影响 oils(DB 已写入但显示被覆盖):温柔呵护(Clary Calm)、仕女呵护(Soft Talk Touch)、乐活(DigestZ)、顺畅呼吸(Easy Air)、牛至呵护/薄荷呵护等 4. **再次审核配方被非管理员修改时通知管理员** — 含字段级 before→after diff ## 不改线上数据库的审计报告(Issue 5) - oils 表 name 是 PRIMARY KEY,不存在重名 - en_name 无重复 - **2 个 recipe_ingredients 孤儿引用**(对比 Excel 同样问题,是既有数据问题不是新 bug): - recipe #77「太伏太溪」: `特瑞活力` 15 滴 — 系统没有这个精油 - recipe #184「学霸神助」: `全神贯注` 8 滴 — 系统没有(可能应是「全神贯注呵护」) ## 测试 - vitest: 360/360(新增 7 条:fmtCostWithRetail、getEnglishName 优先级) - cypress: 261/261(新增 `re-review-notify.cy.js` 2 条)
fam added 1 commit 2026-04-15 10:39:39 +00:00
fix: 多项修复 — 滴数框/零售价显示/精油英文名保存/再次审核通知
Some checks failed
Test / unit-test (push) Successful in 6s
Test / build-check (push) Successful in 4s
PR Preview / teardown-preview (pull_request) Has been skipped
Test / e2e-test (push) Failing after 25s
PR Preview / test (pull_request) Successful in 6s
PR Preview / deploy-preview (pull_request) Successful in 15s
ed8d49d9a0
1. 编辑配方的滴数输入框从 42px 加宽到 58px,确保 50.5 不被 spinner 遮挡
2. 配方卡片在零售价==会员价时也显示零售价(之前因 retail>cost 过滤掉)
3. 精油价目英文名保存后被静态 OIL_CARDS 覆盖,把 getEnglishName 的优先级改
   为先用 DB meta.enName,解决温柔呵护/仕女呵护等显示不更新的问题
4. 再次审核 tag 的配方被非管理员修改时,给管理员发通知,内容含前后 diff
5. 对应 vitest + cypress 测试各一组

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Owner

🚀 Preview: https://pr-39.oil.oci.euphon.net

DB is a copy of production.

🚀 **Preview**: https://pr-39.oil.oci.euphon.net DB is a copy of production.
fam added 1 commit 2026-04-15 21:03:27 +00:00
ci: retrigger after backend crash flake
Some checks failed
PR Preview / test (pull_request) Has been skipped
Deploy Production / test (push) Successful in 7s
PR Preview / teardown-preview (pull_request) Successful in 13s
PR Preview / deploy-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
Deploy Production / deploy (push) Successful in 5s
Test / e2e-test (push) Failing after 6m1s
50751ed9be
Owner

🚀 Preview: https://pr-39.oil.oci.euphon.net

DB is a copy of production.

🚀 **Preview**: https://pr-39.oil.oci.euphon.net DB is a copy of production.
fam merged commit 50751ed9be into main 2026-04-15 21:08:12 +00:00
Owner

🗑️ Preview torn down.

🗑️ Preview torn down.
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: hera/oil-formula-calculator#39