# 临界事故情景分析模拟系统方案 本文档定义业务模块 `business-css` 的目标、架构、数据模型、接口设计与实施计划。 ## 目标 - 支撑对“临界事故”相关情景的建模、参数化配置与快速模拟评估。 - 与 `framework` 项目共享通用能力(鉴权、缓存、日志、通用工具、数据访问等)。 - 提供 REST 接口用于前端或第三方系统的集成。 ## 总体架构 - 应用:Spring Boot(JDK 17),模块名 `business-css`。 - 依赖:`com.yfd:platform:1.0:jar:plain` 引入框架公共模块。 - 数据存储:MySQL(默认 `yfd_platform`,可按环境切换)。 - 接口:按 `REST + JSON` 约定,OpenAPI 自动文档可选。 ## 核心域模型(初版) - `Scenario`:事故情景(名称、类型、参数定义、风险等级)。 - `IncidentFactor`:影响因子(指标、阈值、权重、取值范围)。 - `SimulationRequest`:一次模拟请求(情景名、输入参数)。 - `SimulationResult`:模拟输出(状态、关键指标、结论摘要、时间戳)。 ## 关键能力 - 参数化建模:基于影响因子提出可配置的情景模板。 - 指标计算:利用 `framework` 的通用工具库(如缓存、时间序列、统计)实现。 - 场景评估:形成风险等级、预警阈值与应对建议。 - 结果持久化:保存模拟结果用于追踪与复盘(后续版本)。 ## 接口草图 - `GET /api/simulation/ping`:服务健康检测。 - `POST /api/simulation/run`:执行一次模拟,输入 `SimulationRequest`,输出 `SimulationResult`。 - 后续:`/api/scenario/*` 用于情景模板的增删改查;`/api/factor/*` 用于影响因子的管理。 ## 数据表(建议) - `css_scenario`:情景基础信息表。 - `css_factor`:影响因子表。 - `css_simulation_log`:模拟记录表(包含输入与输出摘要)。 ## 与框架的集成 - 鉴权与用户上下文:复用 `framework` 的安全模块。 - 通用组件:缓存(Caffeine/Redis)、日志、异常统一处理。 - 数据访问:沿用 MyBatis/MyBatis-Plus 与统一的分页、审计字段策略。 ## 版本与发布 - 业务模块版本:`1.0-SNAPSHOT` 起步;与框架 `1.0` 对齐。 - 构建:在仓库根 `pom` 中作为模块聚合;可单独使用 `-pl business-css` 构建或运行。 ## 渐进式实施计划 1. 基础骨架搭建(已完成:应用入口、控制器、服务接口与模型)。 2. 定义情景与影响因子数据模型,建立数据库表结构与 Mapper。 3. 接入框架公共工具,完善指标计算与风险评估逻辑。 4. 增加 OpenAPI 文档与前端集成接口规范。 5. 引入结果持久化与查询报表。 ## 运维与配置 - 端口默认 `8082`,环境覆盖通过 `application.yml` 与外部化配置。 - 数据库连接按环境注入(dev/test/prod)。 - 日志级别默认 `info`,业务包 `com.yfd` 可设为 `debug`。 ## 安全与合规 - 按角色访问控制(复用框架安全),仅授权用户可触发模拟。 - 输入校验与审计日志记录,避免非法参数导致资源消耗异常。 --- 本文为初版方案,后续将结合具体需求与数据约束逐步细化与调整。