# 若依集成思维导图 **Repository Path**: jokeli2007/sevenx ## Basic Information - **Project Name**: 若依集成思维导图 - **Description**: 若依集成思维导图 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-22 - **Last Updated**: 2026-02-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SevenX 七维管理系统 > 基于 [若依 (RuoYi)](https://gitee.com/y_project/RuoYi) v4.7.1 二次开发的企业级管理系统,核心功能为**思维导图协作平台**,支持多人围绕话题进行结构化思考与沟通。 ![输入图片说明](doc/%E6%80%9D%E7%BB%B4%E5%AF%BC%E5%9B%BE1.png) ![输入图片说明](doc/%E6%80%9D%E7%BB%B4%E5%AF%BC%E5%9B%BE2.png) --- ## 技术栈 | 层次 | 技术 | 版本 | |------|------|------| | 语言 | Java | 1.8 | | 框架 | Spring Boot | 2.5.6 | | 模板引擎 | Thymeleaf | — | | 安全框架 | Apache Shiro | 1.8.0 | | ORM | MyBatis + PageHelper | 2.2.0 / 1.4.0 | | 数据库 | MySQL | — | | 连接池 | Druid | 1.2.8 | | 思维导图 | [simple-mind-map](https://github.com/wanglin2/mind-map) | 0.12.0 | | API 文档 | Swagger 3 (Springfox) | 3.0.0 | | 构建工具 | Maven | — | | 容器化 | Docker (openjdk:8-jre) | — | ## 项目结构 ``` sevenx/ ├── ruoyi-admin # Web 入口 (Controller、页面模板、静态资源、配置) ├── ruoyi-framework # 框架核心 (安全、AOP、过滤器、配置) ├── ruoyi-system # 业务服务层 │ ├── system # 系统管理 (用户/角色/菜单/部门/字典等) │ └── project # 思维导图协作 (导图、话题、干系人) ├── ruoyi-common # 通用工具 (含 DeepSeek AI、微信支付等) ├── ruoyi-quartz # 定时任务 ├── ruoyi-generator # 代码生成器 ├── sql/ # 数据库备份 ├── doc/ # 项目文档 ├── Dockerfile # Docker 镜像构建 ├── deploy.sh/.bat # 一键构建部署脚本 └── restart.sh/.bat # 远程快速重启脚本 ``` ## 核心业务:思维导图协作系统 ### 业务流程 ```mermaid flowchart LR A["建立干系人树"] --> B["创建话题"] B --> C["话题下记录沟通"] B --> D["创建思维导图"] D --> E["可视化编辑导图"] E --> F["自动保存 / 导出"] ``` ### 数据模型 ```mermaid erDiagram ProjStakeholderRel ||--o{ ProjStakeholderRel : "父子层级" ProjStakeholderRel }o--|| SysUser : "关联用户" ProjApprovalMain ||--o{ ProjApprovalMain : "父子话题" ProjApprovalMain ||--o{ ProjApprovalDetail : "沟通明细" ProjApprovalMain }o--|| SysUser : "参与人" ProjMindMap }o--|| SysUser : "创建者" ProjMindMap }o--|| SysUser : "参与人" ProjStakeholderRel { Long sId PK Long userId "本级用户" Long parentId "父级用户" String ancestors "祖先链" } ProjApprovalMain { Long pId PK String projectName "话题名称" String projectSummary "话题详情" Long parentId "父级话题" Long nvolPerson "参与人" } ProjApprovalDetail { Long lId PK Long pId FK "所属话题" String commuContent "沟通内容" String commuSummary "沟通摘要" } ProjMindMap { Long mId PK String mindTheme "导图主题" String mindSummary "导图数据JSON" Long nvolPerson "参与人" String commuGroup "交流组" } ``` ### 业务功能详解 #### 1. 干系人关系树 以**树形结构**维护组织内的人员上下级关系,通过 `parentId` + `ancestors` 实现多层级管理: - 树形可视化展示(基于 Ztree) - 仅查看自身及下属关系 - 新增 / 编辑 / 删除节点(自身节点不可删除) #### 2. 话题管理 话题采用**树形结构**组织,支持父子话题层级嵌套,每个话题可指定参与人: - **话题树**:支持无限层级的主题划分 - **沟通明细**:每个话题下可记录多条沟通内容与摘要,同样支持树状结构 - **参与人关联**:话题通过干系人树选择参与者 #### 3. 思维导图编辑 集成 [simple-mind-map](https://github.com/wanglin2/mind-map) 开源库,提供完整的可视化思维导图功能: | 功能 | 说明 | |------|------| | 节点操作 | 插入子节点、同级节点、父节点,删除当前/所有选中节点 | | 撤销重做 | 支持回退(Undo)与前进(Redo)| | 自动保存 | 每 **5 秒**自动检测变更并保存到后端 | | 手动保存 | 一键保存当前完整导图数据 | | 导出 | 导出为 PNG 图片 | | 导入 | 支持导入 `.smm`、`.json`、`.md` 格式文件 | | 协作标识 | 创建导图时自动生成「创建者 ⇌ 参与人」交流组名 | | 权限控制 | 仅可查看自己创建或参与的导图 | 导图数据以 **JSON 格式**存储在 `mindSummary` 字段中,包含完整的节点树、布局、主题和视图配置。 ### 扩展工具 | 工具 | 位置 | 说明 | |------|------|------| | DeepSeek AI | `ruoyi-common/.../DeepSeekAPI.java` | AI 大模型接口集成 | | 微信支付 | `ruoyi-common/.../wxpay/` | 微信支付 & 提现工具集 | ### 内置系统管理 用户管理、部门管理、岗位管理、菜单管理、角色管理、字典管理、参数管理、通知公告、操作日志、登录日志、在线用户、定时任务、代码生成、系统接口、服务监控、缓存监控。 ## 快速开始 ### 环境要求 - JDK 1.8+ - Maven 3.x - MySQL 5.7+ ### 本地开发 ```bash # 1. 导入数据库 # 解压 sql/ 目录下的备份文件并导入 # 2. 修改数据库连接 # 编辑 ruoyi-admin/src/main/resources/application-druid.yml # 3. 构建并启动 mvn clean package -Dmaven.test.skip=true java -jar ruoyi-admin/target/ruoyi-admin.war ``` 访问地址:`http://localhost:8389` ### 部署 & 运维 **一键部署**(构建 + 上传 + Docker 启动): ```bash # Windows deploy.bat # Linux/Mac bash deploy.sh ``` **远程重启**(无需重新构建,秒级恢复): ```bash # Windows restart.bat # Linux/Mac bash restart.sh ``` ### 关键配置 | 配置项 | 说明 | 默认值 | |--------|------|--------| | `server.port` | 服务端口 | 8389 | | `ruoyi.profile` | 文件上传路径 | `/www/sparrow/uploadPath` | | `spring.servlet.multipart.max-file-size` | 单文件大小限制 | 10MB | | `shiro.session.expireTime` | Session 过期时间 | -1(不过期)| | `shiro.session.maxSession` | 同用户最大会话数 | 2 | ## 许可证 基于 MIT 许可证开源,详见 [LICENSE](LICENSE) 文件。