补充流程列表执行利率展示设计文档
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
# 流程列表执行利率展示设计实施记录
|
||||
|
||||
## 实施时间
|
||||
- 2026-03-28
|
||||
|
||||
## 修改内容
|
||||
- 新增流程列表执行利率展示设计文档
|
||||
- 明确本次需求只调整流程列表页,不扩散到详情页、接口和数据库
|
||||
- 明确页面应展示数据库 `execute_rate` 的实际数据,而不是 `loanRate`
|
||||
|
||||
## 文档路径
|
||||
- `docs/superpowers/specs/2026-03-28-workflow-execute-rate-display-design.md`
|
||||
- `doc/implementation-report-2026-03-28-workflow-execute-rate-display-design.md`
|
||||
|
||||
## 设计结论
|
||||
- 保持流程列表列头“执行利率(%)”不变
|
||||
- 将流程列表列绑定从 `loanRate` 调整为 `executeRate`
|
||||
- 不修改后端接口和数据库结构
|
||||
|
||||
## 说明
|
||||
- 按仓库要求,本次先完成设计确认,再进入实施计划
|
||||
- 仓库约束禁止启用 subagent,因此本次未执行基于 subagent 的设计文档复审流程
|
||||
@@ -0,0 +1,143 @@
|
||||
# 流程列表执行利率展示设计文档
|
||||
|
||||
## 1. 背景
|
||||
|
||||
当前贷款定价流程列表页中,“执行利率(%)”列头已经调整为执行利率语义,但列表列绑定字段仍为 `loanRate`。这会导致页面展示的仍是贷款利率字段,而不是数据库 `loan_pricing_workflow.execute_rate` 中保存的实际执行利率数据。
|
||||
|
||||
本次需求明确限定为:
|
||||
|
||||
- 只调整流程列表页
|
||||
- 展示数据库中的执行利率实际数据
|
||||
- 不扩散到详情页、接口定义、数据库结构或其他页面
|
||||
|
||||
## 2. 已确认约束
|
||||
|
||||
- 仅修改流程列表页展示逻辑
|
||||
- 保持后端列表接口 `/loanPricing/workflow/list` 不变
|
||||
- 保持实体 `LoanPricingWorkflow`、数据库表 `loan_pricing_workflow` 结构不变
|
||||
- 不新增兼容字段、不增加补丁式映射、不做过度设计
|
||||
|
||||
## 3. 现状分析
|
||||
|
||||
当前链路如下:
|
||||
|
||||
1. 后端列表接口直接返回 `LoanPricingWorkflow`
|
||||
2. `LoanPricingWorkflow` 同时包含 `loanRate` 和 `executeRate` 字段
|
||||
3. 前端流程列表页列头为“执行利率(%)”
|
||||
4. 但该列 `prop` 仍绑定为 `loanRate`
|
||||
|
||||
因此,页面展示语义与实际数据源不一致。
|
||||
|
||||
## 4. 方案对比
|
||||
|
||||
### 方案一:前端列表列直接切换为 `executeRate`
|
||||
|
||||
做法:
|
||||
|
||||
- 保持列表列头“执行利率(%)”不变
|
||||
- 将流程列表页该列绑定从 `loanRate` 改为 `executeRate`
|
||||
|
||||
优点:
|
||||
|
||||
- 改动最小
|
||||
- 数据语义正确
|
||||
- 不影响后端接口和数据库结构
|
||||
- 符合最短路径实现要求
|
||||
|
||||
缺点:
|
||||
|
||||
- 无明显缺点,前提是后端实体已正常返回 `executeRate`
|
||||
|
||||
### 方案二:后端把 `executeRate` 映射到 `loanRate`
|
||||
|
||||
做法:
|
||||
|
||||
- 保持前端不变
|
||||
- 在后端列表返回前,将执行利率写入 `loanRate`
|
||||
|
||||
优点:
|
||||
|
||||
- 前端改动更少
|
||||
|
||||
缺点:
|
||||
|
||||
- 字段语义混乱
|
||||
- 容易影响其他使用 `loanRate` 语义的场景
|
||||
- 属于补丁式方案,不符合本次约束
|
||||
|
||||
### 方案三:新增列表专用 VO
|
||||
|
||||
做法:
|
||||
|
||||
- 为流程列表单独定义返回对象
|
||||
- 新增专门展示字段承载执行利率
|
||||
|
||||
优点:
|
||||
|
||||
- 语义清晰
|
||||
|
||||
缺点:
|
||||
|
||||
- 对本次需求明显过度设计
|
||||
- 引入额外接口对象和转换逻辑
|
||||
|
||||
## 5. 设计结论
|
||||
|
||||
采用方案一。
|
||||
|
||||
最终实现为:
|
||||
|
||||
- 仅修改 `ruoyi-ui/src/views/loanPricing/workflow/index.vue`
|
||||
- 保持列表列头为“执行利率(%)”
|
||||
- 将该列表列的 `prop` 从 `loanRate` 调整为 `executeRate`
|
||||
- 让页面直接展示数据库 `loan_pricing_workflow.execute_rate` 的实际值
|
||||
|
||||
## 6. 数据链路设计
|
||||
|
||||
本次改动后的链路为:
|
||||
|
||||
1. 数据库表 `loan_pricing_workflow.execute_rate` 保存执行利率
|
||||
2. MyBatis Plus 将该字段映射到实体 `LoanPricingWorkflow.executeRate`
|
||||
3. 列表接口 `/loanPricing/workflow/list` 返回 `LoanPricingWorkflow` 集合
|
||||
4. 前端流程列表页从 `scope.row.executeRate` 展示执行利率
|
||||
|
||||
这样可以保证列表展示内容与数据库实际业务含义一致。
|
||||
|
||||
## 7. 边界与非目标
|
||||
|
||||
本次不包含以下内容:
|
||||
|
||||
- 不修改详情页执行利率展示逻辑
|
||||
- 不修改执行利率录入接口
|
||||
- 不修改 `loanRate` 字段的业务含义
|
||||
- 不修改数据库注释、表结构或初始化 SQL
|
||||
- 不新增空值兜底文案或格式化规则
|
||||
|
||||
如果某条记录尚未设定执行利率,则列表按当前表格默认行为展示空值。
|
||||
|
||||
## 8. 风险与控制
|
||||
|
||||
本次风险点只有一个:页面列头与字段绑定不一致。
|
||||
|
||||
对应控制方式:
|
||||
|
||||
- 明确将流程列表页利率列绑定切换为 `executeRate`
|
||||
- 不对后端做语义映射,避免影响其他逻辑
|
||||
- 通过源码核对和页面验证确认展示值来源正确
|
||||
|
||||
## 9. 验证方案
|
||||
|
||||
实施后需要完成以下验证:
|
||||
|
||||
1. 查看流程列表页源码,确认列头仍为“执行利率(%)”
|
||||
2. 查看流程列表页源码,确认该列 `prop` 为 `executeRate`
|
||||
3. 在存在执行利率数据的记录上,确认列表展示值与数据库 `execute_rate` 一致
|
||||
4. 确认本次改动未影响列表查询、详情查看和执行利率设定功能
|
||||
|
||||
## 10. 实施范围
|
||||
|
||||
- 前端:1 个文件
|
||||
- 后端:无代码改动
|
||||
- 数据库:无改动
|
||||
|
||||
本次属于前端展示绑定修正,不涉及接口契约和存储模型变更。
|
||||
Reference in New Issue
Block a user