Files
cn-rdms/rdms-project/rdms-project-boot/product/05-产品管理_前端联调最小闭环清单.md

3.9 KiB

05-产品管理 当前开发完成度清单

0. 文档定位

本文档只回答 3 件事:

  • 当前产品管理后端已经做了什么
  • 当前产品管理后端还有什么没做
  • 前端现在到底能调哪一段,不能把哪一段当成已完成

说明:

  • 本文档以当前代码实际状态为准,不写历史方案,不写计划性口径。
  • 本文档当前只覆盖 rdms-project/rdms-project-boot 下的产品管理后端实现现状。
  • 本文档中的“已完成”表示代码已实现并已静态核对,不表示已经执行编译、测试或联调。

1. 当前已完成

1.1 已完成的接口

当前产品主数据以下 6 个接口已完成代码实现:

  • GET /project/product/page
  • GET /project/product/get
  • POST /project/product/create
  • PUT /project/product/update
  • POST /project/product/change-status
  • POST /project/product/delete

1.2 已完成的主数据能力

围绕产品主数据,当前已完成以下后端能力:

  • 产品分页查询
  • 产品详情查询
  • 创建产品
  • 更新产品
  • 产品状态变更
  • 删除产品

1.3 已完成的服务端校验

当前已补齐以下校验:

  • 产品存在性校验
  • 产品编码未删除范围唯一校验
  • 产品名称未删除范围唯一校验
  • 产品经理用户有效性校验
  • 产品编码创建后不可修改校验
  • 产品状态动作必须命中 rdms_object_status_transition 校验
  • 状态动作原因是否必填校验
  • 删除时产品名称二次确认一致校验

1.4 已完成的状态与留痕能力

当前已补齐以下状态处理和留痕:

  • 创建时默认状态写入 active
  • 未传产品编码时由服务端自动生成编码,格式按 CNPDYYYYNNN 处理
  • 状态变更按 action_code 驱动,不允许直接透传目标状态
  • 状态变更后同步回写 rdms_product.status_code
  • 状态变更后同步回写 rdms_product.last_status_reason
  • 产品状态动作写入 rdms_product_status_log
  • 创建、编辑、状态变更、删除写入 rdms_biz_audit_log

1.5 已补齐的支撑代码

当前已补齐以下代码支撑:

  • 产品域错误码常量
  • rdms_biz_audit_log 对应 DO / Mapper
  • rdms_product_status_log 对应 DO / Mapper
  • ProductMapper 中产品编码前缀查询能力
  • ObjectStatusTransitionMapper 中仅按启用流转配置查询

2. 当前未完成

以下内容当前还没有开发完成,不能视为“产品管理已完成”:

  • 产品团队
  • 产品需求
  • 关联项目
  • 最近动态 / activities
  • 产品上下文 / context
  • 对象级导航与按钮权限
  • 产品团队维护时的 rdms_user_object_role 动态写入
  • 团队维护引起的产品经理关系同步

3. 当前已确认不做

以下内容已按当前口径确认,本阶段不做,不再视为当前主数据闭环缺口:

  • 创建产品时不写 rdms_user_object_role
  • rdms_user_object_role 由后续产品团队维护时动态落库
  • pause / archive / abandon / delete 当前不做关联项目、执行、任务阻塞校验

4. 前端现在可联调范围

前端当前可以开始联调的范围,仅限“产品主数据最小闭环”:

  • 产品列表
  • 产品详情
  • 新建产品
  • 编辑产品
  • 产品状态变更
  • 删除产品

前端当前不应开始联调整个“产品管理”模块,尤其不应把以下内容当成可用:

  • 产品团队
  • 产品需求
  • 关联项目
  • 最近动态
  • 产品上下文能力

5. 当前结论

当前状态不是“产品管理开发完毕”,而是:

  • 产品主数据最小闭环已完成代码实现
  • 整个产品管理仍有明显未完成范围
  • 前端现在可以先调产品主数据 6 个接口

联调前仍需单独确认权限是否齐备,当前主数据接口涉及权限码:

  • project:product:query
  • project:product:create
  • project:product:update
  • project:product:status
  • project:product:delete