| Name |
Last commit
|
Last update |
|---|---|---|
| backend | ||
| backend-nest | ||
| docs | ||
| frontend | ||
| img | ||
| openspec | ||
| public/img | ||
| scripts/contract | ||
| .gitignore | ||
| DESIGN.md | ||
| PRODUCT.md | ||
| README.md | ||
| skills-lock.json |
新增五个接口,契约比对 5/5 一致,业务规则对拍 12/12 一致。 按输入位数变化的号码搜索 这条规则从接口签名完全看不出来,但直接决定搜索是否可用: 3 位 按号段前缀匹配 4 位 按尾号匹配 7 位 前 3 位与后 4 位组合匹配 其他 精确匹配 写成统一的模糊匹配看似等价,实际会让「输入 8888 找尾号」退化成乱匹配。 对拍用真实数据逐条验证了五种输入长度的结果集完全一致。 其余业务规则 - 卡类型为「虚拟号码」时豁免 ICCID 与实名人的必填校验——虚拟号本无实体卡与实名主体 - 号码规范化会剥掉 +86 前缀,最终必须是 11 位纯数字 - 处置状态不填时默认「正常使用」 - 手动建档固定 number_type = SELF(企微自动录入的号标为 EXTERNAL 以便追溯来源) - 删除不做引用检查,与 Java 一致:台账记录可以先于业务资产撤下 对拍发现:「记录不存在」的状态码各模块并不统一 公司档案与公司人员返回 400,手机号、设备、企微返回 404—— 后三者各自定义了 NotFoundException 与专属异常处理器。这是既有契约不是笔误, 照搬处理:NestJS 侧新增 NotFoundException(404)与 BusinessException(400)区分。 完整映射记于 CONTRACT-NOTES 第 16 条,供设备与企微模块实现时对照。 整体契约比对:19 项一致、12 项待实现。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| backend | Loading commit data... | |
| backend-nest | Loading commit data... | |
| docs | Loading commit data... | |
| frontend | Loading commit data... | |
| img | Loading commit data... | |
| openspec | Loading commit data... | |
| public/img | Loading commit data... | |
| scripts/contract | Loading commit data... | |
| .gitignore | Loading commit data... | |
| DESIGN.md | Loading commit data... | |
| PRODUCT.md | Loading commit data... | |
| README.md | Loading commit data... | |
| skills-lock.json | Loading commit data... |