| 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 |
新增九个接口,只读端点契约比对 3/3 一致,写路径对拍 14/14 一致。 公司档案 - 关键词在公司名、简称、统一社会信用代码、地址、联系人、联系方式六个字段上模糊匹配 - 删除前检查五类资产的引用(公司人员、企微、抖音、域名、商户), 并把具体引用方拼进提示语。抖音、域名、商户三张表当前无业务模块在写, 检查仍须保留:这些模块启用后少查一张就会误删仍被引用的档案 公司人员 - 在职状态仅允许「在职」「离职」,不填默认在职 - 状态为离职时必须填离职时间;改回在职时离职时间会被清空, 避免留下「在职却有离职时间」的自相矛盾记录 - 删除前检查设备、企微、微信、抖音四类资产是否仍把此人记为使用人或运营人 - 列表一次性批量查出所属公司名,不逐行查询;已删除的公司也取名称,保证历史数据可读 页面权限改为标注加守卫 Java 是在每个控制器方法体首行手写 permissions.require(...),改为 RequirePermission 标注 配合全局守卫执行。查询要求 READ,增删改要求 EDIT,与 Java 逐个方法对应。 对拍发现并对齐的一处差异 Java 的 DTO 上写有 @NotBlank(message = "公司名称不能为空"),但全局异常处理器 把所有校验失败统一成「提交内容不符合要求,请检查后重试」,DTO 里的文案实际是死代码。 NestJS 原本在 service 层校验,会返回更具体的文案,反而与线上行为不符。 已将必填校验移到管道层(先 trim 再判空),文案与 Java 保持一致。 整体契约比对:14 项一致、17 项待实现。 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... |