主题
系统架构
工程边界
| 工程 | 职责 |
|---|---|
digital-construction-admin | 主应用、认证和运行配置 |
digital-construction-api | 跨模块 API 契约与 DTO |
digital-construction-common | core、mybatis、web、redis、security、oss、excel 等公共能力 |
digital-construction-modules | system、business、GIS、workflow、AI、job、gen 等业务模块 |
digital-construction-extend | SnailJob、SnailAI、监控等独立服务 |
digital-construction-ui | Vue 3 管理端 |
digital-construction-ui-docs | 项目手册、六类业务模块交付资料与模块模板;独立讨论和专项报告归项目根 reports/ |
.agents/skills | 按任务路由的项目自动技能入口 |
.agents/tools | 跨电脑统一的开发工具与验证脚本入口 |
Java groupId 和包根统一为 com.bokun,自研 Maven 模块统一使用 digital-construction-*。
技术基线
| 分类 | 技术 |
|---|---|
| 后端 | Java 21、Spring Boot 4.1、Maven 多模块 |
| 数据访问 | MyBatis-Plus、MapStruct Plus、dynamic-datasource |
| 权限与缓存 | Sa-Token、Redis、Redisson |
| 流程与任务 | Warm-Flow、SnailJob |
| 前端 | Vue 3、TypeScript、Vite、Element Plus、Pinia、UnoCSS |
| 文件与表格 | S3/MinIO、KKFileView、Fesod Sheet |
运行关系
当前运行数据库为 DM8,但业务代码和 SQL 设计以可迁移为约束。厂商方言集中在 Mapper/XML 或明确适配点,不扩散到 Controller、Service;未来更换人大金仓或 openGauss 时保持业务契约不变。
模块协作原则
- 业务模块不直接复制公共能力,优先复用
digital-construction-common-*。 - 跨模块调用通过 API/SPI、事件或现有平台机制,避免源码层反向依赖。
- 前后端接口字段、枚举、状态、权限标识和分页结构属于稳定契约,不得静默变化。
- 当前为无租户部署;如未来启用租户,需要单独评估数据模型、缓存和权限边界。