Files
patbond-api/patbond-pet
lixi 4c2653c643
CI / backend-test (push) Successful in 5m18s
feat: 疫苗目录与疫苗记录接口、状态机与剂次唯一(T2-05)
- GET /api/v1/vaccine-catalog(只读字典,species 过滤,仅 enabled)
- GET/POST /api/v1/pets/{petId}/vaccinations、PATCH /api/v1/vaccinations/{id}
  (顶层短路径,记录级防枚举:不可见记录一律 404/40402)
- 状态机 scheduled→completed/cancelled,completed/cancelled 终态;
  日期规则镜像 ck_vaccination_dates/ck_vaccination_next_due,违反返回
  422/42201(新码 VACCINATION_RULE_VIOLATION)
- 剂次唯一冲突 409/40904(新码 VACCINATION_DOSE_EXISTS,草案提议的
  40903 已被 MICROCHIP_EXISTS 占用故改号);cancelled 释放唯一占位
- version 乐观锁 409/40902;Idempotency-Key 幂等与 T2-04 同机制
- 疫苗须存在/启用且物种与宠物匹配(40000)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-07 17:44:23 +08:00
..