2025-10-10 10:54:31 +08:00
2025-05-16 14:46:48 +08:00
2025-05-16 14:46:48 +08:00
2025-07-10 10:01:02 +08:00
2025-09-28 17:46:43 +08:00
2025-05-16 14:46:48 +08:00
2025-05-16 14:46:48 +08:00
2025-05-16 14:46:48 +08:00
2025-05-16 14:46:48 +08:00
2025-05-16 14:46:48 +08:00
2025-05-23 17:26:51 +08:00
2025-05-16 14:46:48 +08:00

Coverage Status Downloads Downloads

AGT-Cloud云平台

平台简介

架构图

  • Java 后端JDK 17/21 + Spring Boot 3.4.5
  • 管理后台的电脑端Vue3 采用 vben(ant-design-vue) 企业级管理系统框架
  • 管理后台的移动端:采用 uni-app 方案,一份代码多终端适配,同时支持 APP、小程序、H5
  • 后端采用 Spring Cloud Alibaba 微服务架构,注册中心 + 配置中心 Nacos定时任务 XXL-Job服务保障 Sentinel服务网关 Gateway分布式事务 Seata
  • 数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等,基于 MyBatis Plus、Redis + Redisson 操作
  • 消息队列可使用 Event、Redis、RabbitMQ、Kafka、RocketMQ 等
  • 权限认证使用 Spring Security & Token & Redis支持多终端、多种用户的认证系统支持 SSO 单点登录
  • 支持加载动态权限菜单按钮级别权限控制Redis 缓存提升性能
  • 支持 SaaS 多租户,可自定义每个租户的权限,提供透明化的多租户底层封装
  • 工作流使用 Flowable支持动态表单、在线设计流程、会签 / 或签、多种任务分配方式
  • 高效率开发,使用代码生成器可以一键生成 Java、Vue 前后端代码、SQL 脚本、接口文档,支持单表、树表、主子表
  • 实时通信,采用 Spring WebSocket 实现,内置 Token 身份校验,支持 WebSocket 集群
  • 集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款
  • 集成阿里云、腾讯云等短信渠道,集成 MinIO、阿里云、腾讯云、七牛云等云存储服务
  • 集成报表设计器、大屏设计器,通过拖拽即可生成酷炫的报表与大屏

内置功能

系统内置多种多种业务功能,可以用于快速你的业务系统:

功能分层

  • 通用模块(必选):系统功能、基础设施
  • 通用模块(可选):工作流程、支付系统、数据报表、会员中心
  • 业务系统按需ERP 系统、CRM 系统、商城系统、微信公众号、AI 大模型

系统功能

功能 描述
用户管理 用户是系统操作者,该功能主要完成系统用户配置
在线用户 当前系统中活跃用户状态监控,支持手动踢下线
角色管理 角色菜单权限分配、设置角色按机构进行数据范围权限划分
菜单管理 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能
部门管理 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限
岗位管理 配置系统用户所属担任职务
租户管理 配置系统租户,支持 SaaS 场景下的多租户功能
租户套餐 配置租户套餐,自定每个租户的菜单、操作、按钮的权限
字典管理 对系统中经常使用的一些较为固定的数据进行维护
短信管理 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台
邮件管理 邮箱账号、邮件模版、邮件发送日志,支持所有邮件平台
站内信 系统内的消息通知,提供站内信模版、站内信消息
操作日志 系统正常操作日志记录和查询,集成 Swagger 生成日志内容
登录日志 系统登录日志记录查询,包含登录异常
通知公告 系统通知公告信息发布维护
敏感词 配置系统敏感词,支持标签分组
应用管理 管理 SSO 单点登录的应用,支持多种 OAuth2 授权方式
地区管理 展示省份、城市、区镇等城市信息,支持 IP 对应城市

功能图

基础设施

功能 描述
代码生成 前后端代码的生成Java、Vue、SQL、单元测试支持 CRUD 下载
系统接口 基于 Swagger 自动生成相关的 RESTful API 接口文档
数据库文档 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式
表单构建 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件
配置管理 对系统动态配置常用参数,支持 SpringBoot 加载
定时任务 在线(添加、修改、删除)任务调度包含执行结果日志
文件服务 支持将文件存储到 S3MinIO、阿里云、腾讯云、七牛云、本地、FTP、数据库等
WebSocket 提供 WebSocket 接入示例,支持一对一、一对多发送方式
API 日志 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题
MySQL 监控 监视当前系统数据库连接池状态可进行分析SQL找出系统性能瓶颈
Redis 监控 监控 Redis 数据库的使用情况,使用的 Redis Key 管理
消息队列 基于 Redis 实现消息队列Stream 提供集群消费Pub/Sub 提供广播消费
Java 监控 基于 Spring Boot Admin 实现 Java 应用的监控
链路追踪 接入 SkyWalking 组件,实现链路追踪
日志中心 接入 SkyWalking 组件,实现日志中心
服务保障 基于 Redis 实现分布式锁、幂等、限流功能,满足高并发场景
日志服务 轻量级日志中心,查看远程服务器的日志
单元测试 基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等

功能图

技术栈

微服务

项目 说明
agt-dependencies Maven 依赖版本管理
agt-framework Java 框架拓展
agt-server 管理后台 + 用户 APP 的服务端
agt-module-system 系统功能的 Module 模块
agt-module-member 会员中心的 Module 模块
agt-module-infra 基础设施的 Module 模块
agt-module-bpm 工作流程的 Module 模块
agt-module-pay 支付系统的 Module 模块
agt-module-mall 商城系统的 Module 模块
agt-module-erp ERP 系统的 Module 模块
agt-module-crm CRM 系统的 Module 模块
agt-module-ai AI 大模型的 Module 模块
agt-module-mp 微信公众号的 Module 模块
agt-module-report 大屏报表 Module 模块

框架

框架 说明 版本
Spring Cloud Alibaba 微服务框架 2023.0.1
Nacos 配置中心 & 注册中心 2.3.2
RocketMQ 消息队列 5.2.0
Sentinel 服务保障 1.8.6
XXL Job 定时任务 2.4.0
Spring Cloud Gateway 服务网关 4.1.0
Seata 分布式事务 1.6.1
MySQL 数据库服务器 5.7 / 8.0+
Druid JDBC 连接池、监控组件 1.2.23
MyBatis Plus MyBatis 增强工具包 3.5.7
Dynamic Datasource 动态数据源 4.3.1
Redis key-value 数据库 5.0 / 6.0
Redisson Redis 客户端 3.32.0
Spring MVC MVC 框架 6.1.10
Spring Security Spring 安全框架 6.3.1
Hibernate Validator 参数校验组件 8.0.1
Flowable 工作流引擎 7.0.0
Knife4j Swagger 增强 UI 实现 4.5.0
SkyWalking 分布式应用追踪系统 9.0.0
Spring Boot Admin Spring Boot 监控平台 3.6.1
Jackson JSON 工具库 2.17.1
MapStruct Java Bean 转换 1.6.3
Lombok 消除冗长的 Java 代码 1.18.34
JUnit Java 单元测试框架 5.10.1
Mockito Java Mock 框架 5.7.0

快速启动

1. 基础设施(必选)

1.1 安装JDK

安装JDK 17/21最低版本要求JDK 17

1.2 初始化数据库

项目使用 MySQL 存储数据,所以需要启动一个 MySQL 服务,如果是 PostgreSQL、Oracle、SQL Server、DM、大金 等其它数据库,也是可以的。

① 创建一个名字为 agt-cloud 数据库,【只要】 执行对应数据库类型的 sql 目录下的 agt-cloud.sql SQL 文件,进行初始化。

② 默认配置下MySQL 需要启动在 3306 端口,并且账号是 root密码是 123456。如果不一致需要修改 application-local.yaml 配置文件。

1.3 初始化 Redis

项目使用 Redis 缓存数据,所以需要启动一个 Redis 服务。

默认配置下Redis 启动在 6379 端口,不设置账号密码。如果不一致,需要修改 application-local.yaml 配置文件。

1.4 初始化 Nacos(微服务必选)

项目使用 Nacos 作为注册中心和配置中心,所以需要启动一个 Nacos 服务。

启动完成之后,需要创建 dev 命名空间。

注意新建命名空间时它的“命名空间ID”、“命名空间名”都要是 dev

2. 基础设施(可选)

  • RocketMQ(消息队列)
  • XXL-Job分布式定时任务
  • Seata分布式事务
  • Sentinel分布式服务保障
  • Elasticsearch搜索引擎

3. 启动后端项目

3.1 编译项目

直接执行 mvn clean install package '-Dmaven.test.skip=true' 命令

或者使用 IDEA 自带的 Maven 插件,进行项目的编译。

3.2 微服务启动

依次启动各个微服务

3.2.1 启动 gateway 服务

执行 AgtGatewayApplication 类,进行启动。

3.2.2 启动 system 服务

执行 AgtSystemApplication 类,进行启动。

3.2.3 启动 infra 服务

执行 AgtInfraApplication 类,进行启动。

3.3 单体启动模式

在 agt-cloud 微服务项目的根目录,有一个 agt-server 模块

没错,它就是 agt-cloud 微服务项目的【单体启动模式】!主要解决三个好处:

  • 后悔药:项目一开始采用了 agt-cloud 微服务架构,结果后续上线发现资源不足,或者实际业务量不大,则可以改成使用 agt-server 单体启动模式部署。
  • 开发提速:本地启动 agt-cloud 多个微服务很麻烦,而 agt-server 则可以直接启动一个 agt-server 项目,即可启动所有的微服务,方便开发。
  • 架构升级:技术选型时,不确定使用微服务架构还是单体架构,则可以直接使用 agt-cloud 项目,最终按需部署微服务还是单体。

agt-server 的启动非常简单,只需要运行 AgtServerApplication 类即可!默认只开启 system 和 infra 模块。其它模块的开启,参考对应模块的“功能开启”即可!

Description
No description provided
Readme 6.2 MiB
Languages
Java 60.9%
PLpgSQL 20.7%
TSQL 17.8%
Python 0.5%