|
|
@@ -4,6 +4,20 @@
|
|
|
> 状态:**已提交、未 push**(push 由你做)。origin/java = `f09e9cce`;
|
|
|
> 写本文件时 `git rev-list --count origin/java..java` = **8**(上批 region 5 个 + 本批 3 个;本文件自身的提交不计入)。
|
|
|
|
|
|
+## ★ 2026-10-09 晚间补记 —— 批后又追加 3 个提交(六位订正 / 编号生成 / 评审修复)
|
|
|
+
|
|
|
+正文写于当天下午(批 = 3 提交 + jar `8662237e…` + dist `4b87bb40…`);此后 `java` 分支又追加:
|
|
|
+
|
|
|
+- `680406f9` 省市编码订正为 GB/T 2260 **完整六位**(20 文件:`har-region-cn.json` 重生成、7 个测试类改钉、8 处 javadoc、前端 `har.ts`/`har-openapi.md`/建店表单;`db/har-shop-region.sql` 追加「短码订正」幂等 UPDATE 段)
|
|
|
+- `128a2276` 建店门店编号自动生成(前端 2 文件:`utils/shop-code.ts` + 建店表单;`SP` + 时间戳 + 16 位 CSPRNG,只读、无「重新生成」按钮)
|
|
|
+- `946a3639` 建店弹窗警示随编号自动生成同步 —— 删去已不成立的「重复提交会被后台拒绝」,改为如实陈述(独立评审 🟡1)
|
|
|
+
|
|
|
+**现行产物(换这一套,覆盖 §二里记的指纹)**:
|
|
|
+- jar:`5e5bfb4747be…`(143,153,224 字节,17:08:09;含六位订正)
|
|
|
+- dist.zip:`ab7c0c96fbb8…`(9,377,220 字节,17:23:49;含编号生成 + 弹窗警示修复)
|
|
|
+
|
|
|
+部署顺序不变;两个 SQL **都要跑**:`db/har-callback-retry.sql` **且** `db/har-shop-region.sql`(后者自 2026-10-09 起含短码订正段);无重登、无新菜单。本补记同时把两处残留短码示例订正为六位(评审 🟡2)。写本补记时 `git rev-list --count origin/java..java` = 12,本提交计入则 13。
|
|
|
+
|
|
|
## 需求原文与裁定
|
|
|
|
|
|
### ① 开放 API 挑店改版(C)
|
|
|
@@ -15,7 +29,7 @@
|
|
|
- IP 解析失败 / 该 IP 解析出归属地但无店 ⇒ **回退省份码继续挑**(两者都没有才报错)
|
|
|
- 稳定散列(同一 `out_biz_no` 恒挑同一家);`out_biz_no` 为空 ⇒ 随机
|
|
|
- `city_code` 字段**删除**;误传须响亮失败(Jackson `UnrecognizedPropertyException`,不静默忽略)
|
|
|
-- 400 文案三句:`省份编码不存在: 99` / `用户 IP 无法解析出归属地: 1.2.3.4` / `该地区没有可用门店: 省 32`(带市时 `该地区没有可用门店: 4301(省 43)`)
|
|
|
+- 400 文案三句:`省份编码不存在: 999999` / `用户 IP 无法解析出归属地: 1.2.3.4` / `该地区没有可用门店: 省 320000`(带市时 `该地区没有可用门店: 430100(省 430000)`)
|
|
|
- 显式门店码(`third_shop_id`)优先——传了就不挑
|
|
|
|
|
|
### ② 开放接口去上游化(B)
|
|
|
@@ -121,3 +135,12 @@
|
|
|
- 收银台腿不带门店码(地区批挂账,待拍板)
|
|
|
- 收款链接批:F1 限流 / F5 订单号前缀(待拍板)
|
|
|
- 挑店稳定散列 seed 用 `out_biz_no`(已实现);调用方不传 `out_biz_no` 时等价于随机 —— 开放文档已写明
|
|
|
+
|
|
|
+### 2026-10-09 独立评审后新增挂账(0 🔴 / 2 🟡 / 5 💭;🟡2 已随本批修复)
|
|
|
+
|
|
|
+- 🟡1 行为层后半:「提交成功前保留同一编号」是否改 —— 现状 = 每次打开换新(弹窗文案已如实,`946a3639`);要改须同时设计换店时的重新生成入口(只读格 + 无「重新生成」按钮会把想换一家店的运营卡死),待拍板
|
|
|
+- 短码订正 SQL 段 guard 偏宽:`length(x) < 6` 会把 `''`/任意短垃圾(如 `99`)补成看似合法的六位;建议 `BETWEEN 2 AND 5`(异常留在 `< 6`,只读核对④才拦得住),未动
|
|
|
+- `HarRegionControllerTest:90` 松懈断言 `startsWith("32")`(88 行已另钉 `length == 6`,组合偏松);建议 `startsWith("3200")` 或 equals,未动
|
|
|
+- `utils/shop-code.ts` 注释动机(「能在电话/微信里念得出来」)与只读自动生成格不符;建议改注释真实动机,未动
|
|
|
+- `logs/` 未被 gitignore:`git add -A` 会连截图/生成器/台子/日志一起收走(本仓提交一直走显式路径);建议加 ignore 条目,未动
|
|
|
+- 省直辖县级行政区划 4 码(419000/429000/469000/659000)截图不可见、按补零规则推;建店选到这些省前先找上游确认
|