AWS亚马逊

ER图

关键点总结

Session是顶层容器:每次"卖家+角色"登录创建一个session

Diagnosis按角色创建:GM创建3个,LGM创建2个,OPS创建1个

Optimize是1:1关系:每个诊断只有一次优化过程(重置会创建新的诊断)

Dialog是多轮对话:一次优化包含多轮对话,每轮对话是一条记录

History是归档:诊断完成后创建历史记录,保存报告文件ID

Chat是独立功能:与诊断流程无关,直接关联session

数据库表关系图

用户登录 → 选择卖家+角色 → 上传Excel

scop_session (会话表) 1:N

├─ scop_diagnosis (诊断表)

│ ├─ IPSF (入库配置费)

│ ├─ SIPP (自包裹计划)

│ └─ LTSF (长期仓储费)

├─ scop_file (上传的Excel文件) 1:N

├─ scop_file_response (AI返回的看板数据) 1:N

│ ├─ 10个看板指标 (多条记录)

│ ├─ 引导语 (1条记录)

│ └─ 3个诊断卡片数据 (3条记录)

└─ scop_chat (问题答疑聊天) 1:N

scop_diagnosis (诊断表) 1:1

└─ scop_diagnosis_optimize (优化表)

└─ scop_diagnosis_optimize_dialog (对话表) 1:N

├─ 第1步对话

├─ 第2步对话

└─ 第N步对话

scop_diagnosis (诊断表) 1:1

└─ scop_diagnosis_history (历史表)

└─ reportId (生成的Excel报告)

完整业务流程

第1步:首页 - 开始诊断

界面:输入卖家名称 + 选择角色(总经理/物流经理/运营经理) + 上传Excel

后端:startDiagnosis()

├─ 创建 scop_session (1条)

├─ 创建 scop_diagnosis (根据角色创建1-3条)

│ └─ GM角色 → IPSF + SIPP + LTSF (3条)

│ └─ LGM角色 → IPSF + SIPP (2条)

│ └─ OPS角色 → LTSF (1条)

├─ 保存 scop_file (上传的Excel文件)

└─ 调用AI: /scop/upload-data

└─ 保存 scop_file_response

├─ 10条看板数据 (多条数据看板)

├─ 1条引导语

└─ 3条诊断卡片数据

第2步:诊断首页 - 查看看板和诊断卡片

界面:显示10个看板指标 + 引导语 + 3个诊断卡片

  • 入库配置费IPSF: $30,260.2

  • 自包裹计划SIPP: $88,672.9

  • 长期仓储费LTSF: $7,455.3

后端:getDiagnosisDetail(sessionId)

└─ 从 scop_file_response 读取数据

第3步:点击诊断卡片 - 开始优化(例如IPSF)

界面:点击"入库配置费IPSF"的"继续优化"按钮

后端:startOptimize(sessionId, diagnosis="IPSF")

├─ 调用AI: /scop/analysis (通知AI开始分析)

├─ 调用AI: /scop/optimize (message="start")

├─ 创建 scop_diagnosis_optimize (1条优化记录)

└─ 创建 scop_diagnosis_optimize_dialog (第1轮对话)

└─ message: "您希望深入了解哪些进化优化的详细内容和如何有效地实施吗?"

content: ["是的,我想要了解更多步骤", "暂时不需要,继续后续"]

第4步:IPSF优化指南 - 多轮对话

界面:显示AI的问题和选项,用户选择答案

后端:continueOptimize(sessionId, diagnosisId, content="用户选择的答案")

├─ 调用AI: /scop/optimize (message=用户选择)

├─ 更新上一轮对话的answer字段

└─ 创建新的 scop_diagnosis_optimize_dialog (第N轮对话)

└─ 重复直到 endFlag=true

第5步:优化完成 - 生成报告

当 endFlag=true 时:

├─ 调用AI: /scop/report (获取Word报告)

├─ 保存报告到文件系统

├─ 创建 scop_diagnosis_history (1条历史记录)

│ └─ reportId: 报告文件ID

│ └─ reportName: "report_张三_gm_IPSF.docx"

└─ 更新 scop_diagnosis.status = "已完成"

第6步:问题答疑 - 独立聊天

界面:右侧"SCOP问题答疑"聊天框

后端:chat(sessionId, requestContent)

├─ 调用AI: /scop/chat

└─ 保存 scop_chat (每次对话1条记录)

└─ 与session是1:N关系

相关推荐
阿维的博客日记27 分钟前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI27 分钟前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
辰海Coding2 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
小小编程路2 小时前
C++ 多线程与并发
java·jvm·c++
AI视觉网奇2 小时前
linux 检索库 判断库是否支持
java·linux·服务器
她的男孩2 小时前
从零搭一个企业后台,为什么我把能力拆成 Starter 和 Plugin
java·后端·架构
RainCity2 小时前
Java Swing 自定义组件库分享(七)
java·笔记·后端
Sam_Deep_Thinking3 小时前
连锁门店的外卖订单平台对接
java·微服务·架构·系统架构
_遥远的救世主_3 小时前
从一次结果集密集型查询 OOM 看 Java 服务的稳定性架构治理
java·后端
一楼的猫3 小时前
从工具链视角对比:番茄作家助手 vs 第三方写作辅助方案
java·服务器·开发语言·前端·学习·chatgpt·ai写作