# somp-ability-parent **Repository Path**: hackcloud/somp-ability-parent ## Basic Information - **Project Name**: somp-ability-parent - **Description**: 应用能力平台 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-07 - **Last Updated**: 2026-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SOMP Ability Platform (somp-ability-platform) ## 概述 SOMP Ability Platform 是一个基于 Spring Boot 3.x 的设备运维管理平台,由**能力中心(统一认证 / 权限 / 多租户)**与**运维业务子系统(基础数据 / 设备台账 / 工单 / 人员台账)**两条业务线组成,通过 Sa-Token SSO 打通单点登录。 ## 模块结构 ``` somp-ability-parent/ # Maven 聚合父工程(packaging=pom) ├── somp-ability-commons/ # 公共组件层 │ ├── somp-common-base # 基础公共组件(Result/HttpResult、异常、分页、RootMapper、LoginUser) │ ├── somp-commons-file # 文件存储服务(本地 / MinIO / OSS / FastDFS) │ └── somp-sso-client # SSO 客户端集成(StpInterface / CurrentUserHolder / SsoClientController) ├── somp-ability-server/ # ★ 能力中心核心(auth / permission(casbin) / user / role / dept / │ # tenant / org / menu / application / notice / push / sms / workflow / audit) ├── somp-ability-business/ # 业务与接口层 │ ├── somp-ops-server # OPS 业务服务层(基础数据 / 设备台账 / 工单 / 施工 / 告警 / 人员台账…) │ ├── somp-ops-controller # OPS REST API 接口层 │ └── somp-ability-controller # 能力中心 REST API 接口层 ├── somp-apps/ # 可启动应用(Spring Boot 入口 + 配置) │ ├── somp-ability-app # AbilityPlatformApplication → :18003(SSO 认证中心) │ └── somp-ops-app # OpsPlatformApplication → :18001(SSO 客户端) ├── somp-ability-ui/ # 认证中心管理台前端(Vue 3 + Vite)→ :3001,非 Maven 模块 └── somp-ops-ui/ # 运维业务前端(Vue 3 + Vite) → :3000,非 Maven 模块 ``` ## 技术栈 - **后端**:Java 17 / Spring Boot 3.2.5 / MyBatis-Plus 3.5.6 / MySQL 8.0.33 / Redis - **认证与权限**:Sa-Token 1.46.0(会话 + SSO)、JCasbin 1.98.0(RBAC/ABAC 决策引擎) - **前端**:Vue 3.5 + Vite 8 + TypeScript 5.9 + Pinia + Vue Router + Element Plus(ops-ui 另用 ECharts 6.1 画能力雷达与绩效趋势) - **其他**:Lombok、EasyExcel 4.0.3(导入导出)、MinIO 8.5.9、Hutool 5.8.26 ## 主要功能 - ✅ 统一身份认证与单点登录(认证中心 + 子系统接入) - ✅ RBAC 权限体系:角色-菜单授权、角色继承、部门物化路径多租户域、数据权限(ABAC,登录时一次内存计算前缀集合 + MyBatis-Plus 拦截器注入 EXISTS 子查询,策略变更实时刷新在线会话) - ✅ 平台治理:用户 / 角色 / 部门 / 组织 / 租户 / 菜单 / 应用(AppMenu)管理 - ✅ 基础数据管理 12 个模块(线路 / 站点 / 位置 / 场所 / 库房 / 专业 / 子系统 / 设备类型 / 厂商 / 型号 / 标签 / 证书) - ✅ 设备台账管理(含二维码)与设备部件、施工管理 - ✅ 设备维修工单管理(派单 / 告警 / 故障 / 物料 / 参与人 / 周期) - ✅ 人员全息台账(履历 / 技能 / 绩效 + 五维能力评分与雷达图)与资质、证书实例管理 - ✅ Excel 导入导出(证书 / 标签 / 人员台账 / 资质证书四类带**批量上传预检**与差异表单标红回写)、文件存储服务(本地 / MinIO / OSS / FastDFS) - ✅ 通知、推送、短信、工作流、操作审计 ## 配置说明 数据库与 Redis 连接在各 app 的 `application.yml` 中配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/somp username: your_username password: your_password ``` > 仓库内的 `application.yml` 指向的是开发者个人的联调环境,**上生产前必须替换为自己的 MySQL / Redis / MinIO 连接信息**。 ## 构建与运行 ```bash # 后端 mvn clean compile mvn clean package -DskipTests # 能力中心(SSO 认证中心,:18003) mvn -pl somp-apps/somp-ability-app -am spring-boot:run # 运维业务(SSO 客户端,:18001) mvn -pl somp-apps/somp-ops-app -am spring-boot:run # 前端 cd somp-ability-ui && npm install && npm run dev # 认证中心管理台 :3001 cd somp-ops-ui && npm install && npm run dev # 运维业务端 :3000 ``` ## 开发注意事项 1. **Lombok 注解**:本项目使用 Lombok 自动生成 getter/setter,请确保 IDE 已安装 Lombok 插件 2. **UTF-8 编码**:所有源文件必须使用 UTF-8 编码保存 3. **包名规范**:使用小写字母,按功能模块划分包路径 4. **对象命名**:`*Entity` / `*SaveBO` / `*QueryBO` / `*VO` / `*Mapper`,详见架构文档 5. **新增 Maven 依赖**:版本统一写在根 `pom.xml` 的 `` + ``,子模块只声明 `groupId/artifactId` 6. **慎在根目录 `mvn clean`**:IDE 里运行中的应用是从 `*/target/classes` 加载类的,根目录的 `clean` 会把正在运行的类抽走(表现为 `NoClassDefFoundError` 或重启失败)。联调期间请只构建需要的模块,或改用不带 `clean` 的 `package` 7. **权限链路无测试兜底**:全仓库只有一个 SSO 服务端配置测试类。改 Casbin 策略装载、超管判定、SSO 换票、 数据权限拦截器(`SompDataPermissionHandler` / `OnlineSessionRefresher`)前, 请按 [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) §5 的约定手工复验(未登录 401、ticket 白名单、菜单树下发、 数据权限前缀三态语义、策略变更后会话刷新) ## 文档 - [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md):架构与上手指南(模块依赖、分层约定、权限体系详解、运行方式、前端说明) - [`somp-ability-ui/README.md`](somp-ability-ui/README.md):认证中心管理台前端说明(页面清单、菜单分流、代理规则) - [`somp-ops-ui/README.md`](somp-ops-ui/README.md):运维业务前端说明 - [`somp-ops-ui/START.md`](somp-ops-ui/START.md):运维业务前端联调启动步骤 - [`sql/`](sql/):建表与初始化脚本 ## 许可证 Copyright © 2026 SOMP Project