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

相关推荐
2601_9516437712 分钟前
Python第一,Java跌出前三,C语言杀回来了
java·c语言·python·编程语言排行·技术趋势
IT 行者2 小时前
GitHub Spec Kit 实战(五):/speckit.tasks 怎么拆——Spec Kit 五部曲收官
java·ai编程·claude
(Charon)2 小时前
【C++ 面试高频基础:指针、引用、const、static、new/delete 总结】
java·开发语言
Yeats_Liao3 小时前
Feed流系统设计(三):数据模型与存储设计,从表结构到Redis收件箱
java·javascript·redis
JiaHao汤3 小时前
分布式事务方案全景:从理论到 Seata 落地
java·分布式·spring·spring cloud
色空大师4 小时前
【debug调试详解-idea】
java·ide·intellij-idea·调试·远程调试
程序猿阿越4 小时前
AutoMQ源码(一)读、写、Compaction
java·后端·源码
ywl4708120874 小时前
jwt生产token,简单版helloworld
java·数据库·spring
未若君雅裁4 小时前
生产问题排查与性能瓶颈定位:日志、监控、链路追踪、压测与Arthas
java·web安全
器灵科技4 小时前
AI视频工具实测:Seedance/可灵/HappyHorse谁最能打?
java·运维·数据库·人工智能·github