# machine-monolith-java **Repository Path**: machineswift/machine-monolith-java ## Basic Information - **Project Name**: machine-monolith-java - **Description**: 企业级智能管理平台(单体架构) - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-12-06 - **Last Updated**: 2026-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 🚀 Machine 企业级智能管理平台 ![Machine Logo](https://img.shields.io/badge/Machine-单体应用-blue?style=for-the-badge&logo=spring) [![Project](https://img.shields.io/badge/Project-2026.09--RELEASE-blue.svg)](pom.xml) [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-4.0.7-brightgreen.svg)](https://spring.io/projects/spring-boot) [![Java](https://img.shields.io/badge/Java-25-red.svg)](https://openjdk.java.net/) [![Maven](https://img.shields.io/badge/Maven-3.9+-blue.svg)](https://maven.apache.org/) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) **企业级 Java 单体应用 · 与 Machine 微服务平台同源,核心能力与版本对齐** [技术栈](#-技术栈) • [项目结构](#-项目结构)
--- ## 📖 项目简介 **Machine Monolith Java** 是 Machine 产品线的单体部署形态,与 [Machine 微服务平台](https://gitee.com/machineswift/machine-back-java) 同源共建:业务能力与微服务保持一致,重要功能会同步迁入,便于在单机/小规模场景下快速交付与运维。 采用多模块 Maven + Spring Boot Starter 架构,内置统一身份认证、权限管理、数据管理、审计日志中心、AI、CRM、HRM、SCM、TPP 等企业级模块,集成对象存储(OBS/OSS/COS/MinIO)、Spring AI(DeepSeek/Ollama)、微信生态 SDK、Redis 分布式缓存等基础设施。 ### 🎯 与微服务的差异 | 维度 | 微服务平台 | 单体应用(本项目) | |------|--------------------------------------------------------|-------------------------------------------| | 部署形态 | 多服务(网关 + IAM + Admin/Partner + OpenAPI + MQ + XXL-Job) | 单进程 `machine-admin-app`(含全部业务) | | 服务发现 | Nacos + OpenFeign | 进程内 Client 直调 Service | | 技术栈 | Spring Boot 4 + Spring Cloud 2025 | Spring Boot 4,无 Spring Cloud | | 模块范围 | 全量模块 | 无 gateway-server / camunda-server / Tests | --- ### ✨ 核心特性 - 🔐 **统一认证授权**:Spring Security + OAuth2 + JWT 统一鉴权,支持图形验证码(Kaptcha)、短信验证码、密码登录与三方登录(JustAuth)。 - 📋 **认证中心-客户端管理**:OAuth2 客户端(Registered Client)全生命周期管理(增删改查/启停/密钥重置),内置 Caffeine + Redis 本地缓存,配套授权码模式授权确认页(Consent)。 - 🧾 **审计日志中心**:登录 / 访问 / 操作 / 附件操作四类日志统一管理,异步落库、全链路可追溯;操作日志同步记录访问日志。 - 🏠 **首页程序坞配置**:基于用户配置(UserConfig)的首页程序坞(Dock)个性化配置与用户偏好持久化能力。 - 🤖 **智能中心**:AI 模型 / Provider 资源中心管理,基于 Spring AI(DeepSeek / Ollama / Qwen)能力编排。 - 🗂️ **素材与基础数据**:文件中心(素材 / 附件 / 下载中心)、标签体系(分类 / 选项)、品牌(支持父子品牌)/ 区域 / 门店 / 供应商等主数据与内容管理。 - 🧩 **附件统一管理**:`machine-obs-boot-starter` 提供模块实体校验注册表(`ModuleEntityValidatorRegistry`),统一素材 / 附件 / 下载的归属校验与附件操作日志采集。 - 🗄️ **数据安全**:MyBatis 字段级 AES 加密(`EncryptTypeHandler`)与 PostgreSQL JSONB 类型处理(`JsonbTypeHandler`)。 - ☁️ **对象存储**:基于 x-file-storage,一处接入 MinIO、华为云 OBS、阿里云 OSS、腾讯云 COS。 - ⚡ **多级缓存**:Caffeine 本地缓存 + Redis / Redisson 分布式缓存,降低热点数据访问延迟。 - 📊 **可观测性**:p6spy SQL 日志、SpringDoc OpenAPI 接口文档、登录 / 访问 / 操作全链路日志。 --- ### 🎮 在线演示 > **👉 [http://www.machinerust.cn](http://www.machinerust.cn)** | 角色 | 账号 | 密码 | |---------|---------|----------| | 👤 访客 | `demo` | `123456` | | 👤 访客 | `guest` | `123456` | ## 🔧 技术栈 当前项目版本:**2026.09-RELEASE**。 | 类型 | 技术 / 组件 | 版本 | |------------------|------------------------------------|----------------------------------| | **运行框架** | Spring Boot | 4.0.7 | | **语言** | Java | 25 | | **构建** | Maven | 3.9+ | | | Lombok | 1.18.46 | | **AI** | Spring AI | 2.0.0 | | | Spring AI Alibaba | 2.0.0-M1.1 | | **安全** | Spring Security + OAuth2 + JWT | 随 Spring Boot | | | JustAuth(三方登录) | 1.16.7 | | | Kaptcha(验证码) | 2.3.2 | | | Nimbus JOSE JWT | 10.9.1 | | **持久化** | MyBatis-Plus | 3.5.17 | | | MyBatis | 3.5.19 | | | dynamic-datasource (多数据源) | 4.5.0 | | | p6spy (SQL 日志) | 2.0.1 | | **缓存** | Redisson | 4.7.0 | | | Jedis | 8.0.1 | | | Caffeine | 3.2.4 | | **数据库** | PostgreSQL | — | | **文档** | SpringDoc OpenAPI (Swagger UI) | 3.1.0 | | | Swagger Annotations Jakarta | 2.2.52 | | **对象存储** | x-file-storage (OBS/OSS/COS/MinIO) | 2.3.0 | | **文档转换** | Apache Tika + jodconverter | 4.0.0 / 4.4.11 | | **微信 SDK** | 小程序 / 公众号 / 企业微信 / 支付 | 4.8.6.B | | **飞书 SDK** | Lark OAPI SDK | 2.0.2 | | **HTTP** | OkHttp 5 + HttpClient 5 | 5.5.0 / 5.6.4 | | **工具库** | Hutool / Guava / Gson / FastExcel | 5.8.47 / 33.7.1-jre / 2.14.0 / 1.3.0 | | | jsoup(HTML 解析) | 1.23.2 | | | commons-compress | 1.28.0 | | **对象变更对比** | JaVers | 7.11.8 | | **字节码** | ByteBuddy + Javassist | 1.18.12 / 3.33.0-GA | --- ## 📁 项目结构 ``` machine-monolith-java/ ├── machine-apps/ # 应用层 │ └── machine-admin-app/ # 单体主应用入口(管理端 API + 鉴权) ├── machine-clients/ # 客户端接口层(进程内调用) │ ├── machine-iam-client/ # 身份认证与授权接口 │ ├── machine-data-client/ # 数据管理接口 │ ├── machine-ai-client/ # AI 服务接口 │ ├── machine-crm-client/ # CRM 接口 │ ├── machine-hrm-client/ # HRM 接口 │ ├── machine-scm-client/ # SCM 接口 │ └── machine-tpp-client/ # 第三方平台接口 ├── machine-services/ # 服务实现层 │ ├── machine-iam-service/ # 身份认证与授权实现 │ ├── machine-data-service/ # 数据管理实现 │ ├── machine-ai-service/ # AI 服务实现 │ ├── machine-crm-service/ # CRM 实现 │ ├── machine-hrm-service/ # HRM 实现 │ └── machine-scm-service/ # SCM 实现 ├── machine-starters/ # Spring Boot Starter 自动配置 │ ├── machine-base-boot-starter/ # 基础自动配置(校验、JSON、通用 SDK) │ ├── machine-mybatis-boot-starter/ # MyBatis-Plus 自动配置(字段加密/JSONB 类型处理) │ ├── machine-redis-boot-starter/ # Redis / Redisson 自动配置(含 Caffeine 本地缓存) │ ├── machine-security-boot-starter/ # 安全认证自动配置 │ ├── machine-obs-boot-starter/ # 对象存储自动配置 │ ├── machine-ai-boot-starter/ # Spring AI 自动配置 │ └── machine-web-boot-starter/ # Web 自动配置(访问日志/操作日志/线程池) ├── machine-generals/ # 通用共享库 │ └── machine-base-sdk/ # 通用 SDK(枚举、异常、工具类) ├── pom.xml # 父 POM └── README.md ``` ### 模块说明 | 层级 | 目录 | 职责 | |--------------|---------------------|---------------------------------------------------------------------------------------------| | **Apps** | `machine-apps/` | 应用入口,暴露 HTTP API 并注册 Filter/Security 配置 | | **Clients** | `machine-clients/` | 服务接口 + DTO 定义,单体中由对应 Service 实现,**进程内调用** | | **Services** | `machine-services/` | 业务逻辑实现 + 数据访问(Mapper/DAO) | | **Starters** | `machine-starters/` | Spring Boot 自动配置封装,按需引入(数据库、缓存、安全、对象存储、AI、Web 访问/操作日志等) | | **Generals** | `machine-generals/` | 通用 SDK,不依赖 Spring Boot,可供外部项目引用 | --- ## 📄 许可证 本项目采用 [MIT License](LICENSE)。 --- ## 📞 联系我们 📧 **邮箱**: machineswift@qq.com ---
**如果本项目对您有帮助,欢迎 ⭐ Star** Made with ❤️ by Machine Team