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关系

相关推荐
学长毕业设计1 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
东小西2 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西2 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
许彰午2 小时前
22-DataCenter报文序列化
java·低代码·架构·状态模式
2601_962065252 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql
小范同学_2 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
予昊3 小时前
从零实现“在线五子棋对战“:WebSocket 实时通信 + 段位匹配
java·开发语言·网络·websocket
2601_962203513 小时前
【SpringAI入门】初识SpringAI
java
weixin_461408584 小时前
Mybatis-flex小记
java·开发语言·mybatis
2601_962177134 小时前
【MySQL篇】聚合查询,联合查询
android·java·mysql