无尘阁日记

无尘阁日记

跟AI协作梳理新需求对应的功能清单todo-list
2025-04-16

问:

我现在有这样一个需求:

1. 创建基于文件底稿的单项资产项目,则需要给项目表TJ_Projects加一个类型区分,ProjectType,1普通项目,2单项资产项目,默认为1,并且更新项目模型;

2. 这种项目它是没有评估方法的,所以以前的检测评估方法的都要更改。意味着我最好是重写一个创建项目的接口,不影响原有接口,其中的逻辑需要重新梳理并实现;

3. 在创建的时候需要提供一个获取单项资产模版的接口,暂不做权限;

4. 在创建项目的时候要检测这个模版是否存在;

5. 要实现一个中转逻辑,用于推送到rabbitMQ队列;

6. 需要实现调用文件处理服务接口的逻辑;

7. 需要重新实现文件处理服务器回调的逻辑;

8. 需要新加一张版本表,用于存储不同于原有带评估方法的版本;

9. 需要实现项目状态入库逻辑,记录调用过程,使失败项目能够重启;

10. 重新实现版本列表和恢复功能,版本删除,版本检测功能;

11. 编辑项目功能实现,需要依据项目信息的更改去调用文件服务重写写入;

12. 复制项目功能实现;

13. 对项目列表做修改,适配于单项资产和股权关系的下拉列表;

14. 项目组部分的修改;

15. 给工作站提供的项目列表接口修改;

16. 提交审核接口适配或者重写;

17.项目列表权限(原有团队逻辑的适配修改);

18. 承接审核,审核通过、退回、撤回逻辑适配修改;

19. 审核列表适配修改;

20. 版本删除适配修改;

21. 评估对象涉及的逻辑适配修改;

22. 评估对象枚举涉及的相关逻辑的修改;

请你基于我提供的信息帮我整理成一份标准的功能清单,这是到本月26号前我要完成的功能。

答:

好的!根据你提供的需求,我已经将这些功能逐条整理,并归类为不同模块的功能清单,以便清晰地规划你的开发任务。


功能清单(截止日期:26号前)

1. 项目表修改与模型更新

  • 功能:

    • TJ_Projects 表中增加一个 ProjectType 字段。

    • 字段类型:ProjectType(类型区分,1:普通项目,2:单项资产项目,默认值为 1)。

    • 更新项目模型,确保 ProjectType 被正确处理。

2. 创建项目接口重写(单项资产项目)

  • 功能:

    • 重写创建项目接口(不影响现有接口),用于创建单项资产项目。

    • 新的接口逻辑应根据 ProjectType 判断项目类型。

    • 对于单项资产项目,逻辑应去除评估方法的相关处理。

3. 获取单项资产模版的接口

  • 功能:

    • 提供获取单项资产模版的接口。

    • 暂不做权限控制。

4. 检测单项资产模版是否存在

  • 功能:

    • 在创建单项资产项目时,检查所需模版是否存在。

    • 如果模版不存在,返回错误信息。

5. 中转逻辑推送到 RabbitMQ 队列

  • 功能:

    • 实现一个中转逻辑,将创建单项资产项目的任务推送到 RabbitMQ 队列。

    • 保证消息推送的可靠性与可追溯性。

6. 调用文件处理服务接口

  • 功能:

    • 在创建项目时,调用文件处理服务接口进行文件处理。

    • 确保文件上传、存储、处理流程的可靠执行。

7. 文件处理服务回调逻辑

  • 功能:

    • 实现文件处理服务的回调逻辑。

    • 处理文件服务完成后的回调,如更新项目状态。

8. 新增版本表

  • 功能:

    • 新增版本表用于存储不同于原有带评估方法的版本。

    • 设计版本表的字段与关系,确保项目的版本信息可以正确存储。

9. 项目状态入库逻辑

  • 功能:

    • 在项目创建、更新时,记录项目的状态。

    • 实现失败项目的重启功能,确保系统可以处理失败的项目并重新推送。

10. 版本列表与恢复功能

  • 功能:

    • 实现项目版本列表展示功能。

    • 提供版本恢复功能,能够根据项目历史版本恢复数据。

    • 支持版本删除与版本检测功能。

11. 编辑项目功能实现

  • 功能:

    • 实现项目编辑功能,当项目信息发生更改时,调用文件服务进行数据重写。

12. 复制项目功能实现

  • 功能:

    • 提供项目复制功能,允许用户复制项目及其相关数据。

13. 项目列表下拉列表适配

  • 功能:

    • 修改项目列表的下拉列表,适配单项资产和股权关系。

14. 项目组部分修改

  • 功能:

    • 对项目组部分进行修改,以支持新类型项目的管理需求。

15. 工作站项目列表接口修改

  • 功能:

    • 修改工作站提供的项目列表接口,适配单项资产项目与普通项目的区分。

16. 提交审核接口适配或重写

  • 功能:

    • 根据项目类型,适配或重写提交审核接口的逻辑。

17. 项目列表权限适配修改

  • 功能:

    • 对原有团队权限逻辑进行适配,支持单项资产项目与普通项目权限管理。

18. 承接审核逻辑适配修改

  • 功能:

    • 修改承接审核、审核通过、退回、撤回等流程的逻辑,适配项目类型。

19. 审核列表适配修改

  • 功能:

    • 修改审核列表接口,支持不同项目类型的显示与操作。

20. 版本删除适配修改

  • 功能:

    • 适配版本删除的逻辑,确保删除不同类型项目的版本时不影响其他数据。

21. 评估对象逻辑适配修改

  • 功能:

    • 修改评估对象相关逻辑,确保适应不同类型项目的需求。

22. 评估对象枚举逻辑适配修改

  • 功能:

    • 修改评估对象的枚举逻辑,支持单项资产项目的特殊需求。

优先级建议与时间安排:

根据功能的复杂程度和实现所需时间,你可以考虑以下优先级:

  • 高优先级:

    • 第 1 项、2 项(创建项目接口重写,项目类型区分)

    • 第 3 项、4 项(模版获取与检测)

    • 第 5 项(RabbitMQ 中转逻辑)

    • 第 8 项(版本表新增)

  • 中优先级:

    • 第 9 项(项目状态入库与重启逻辑)

    • 第 6 项、7 项(文件处理与回调)

    • 第 10 项(版本列表与恢复)

  • 低优先级:

    • 第 11 项、12 项(项目编辑与复制)

    • 第 13 项、14 项(列表与项目组修改)

    • 第 16 项、17 项(审核接口与权限管理)

    • 第 18 项、19 项(承接审核与审核列表)

    • 第 20 项、21 项、22 项(版本删除与评估对象逻辑)

后续步骤:

  1. 将功能按照优先级逐项拆解,开始进行设计与开发。

  2. 确保有详细的单元测试覆盖每个模块的逻辑,特别是涉及到项目类型和版本管理的部分。

  3. 在每个接口重写时,考虑向后兼容,避免影响原有接口逻辑。

如果有任何具体模块需要更详细的设计或实现步骤,随时告知,我可以进一步协助细化。