@ -0,0 +1,54 @@ |
|||
###################################################################### |
|||
# Build Tools |
|||
|
|||
.gradle |
|||
/build/ |
|||
!gradle/wrapper/gradle-wrapper.jar |
|||
|
|||
target/ |
|||
!.mvn/wrapper/maven-wrapper.jar |
|||
|
|||
.flattened-pom.xml |
|||
|
|||
###################################################################### |
|||
# IDE |
|||
|
|||
### STS ### |
|||
.apt_generated |
|||
.classpath |
|||
.factorypath |
|||
.project |
|||
.settings |
|||
.springBeans |
|||
|
|||
### IntelliJ IDEA ### |
|||
.idea |
|||
*.iws |
|||
*.iml |
|||
*.ipr |
|||
|
|||
### NetBeans ### |
|||
nbproject/private/ |
|||
build/* |
|||
nbbuild/ |
|||
dist/ |
|||
nbdist/ |
|||
.nb-gradle/ |
|||
|
|||
###################################################################### |
|||
# Others |
|||
*.log |
|||
*.xml.versionsBackup |
|||
*.swp |
|||
|
|||
!*/build/*.java |
|||
!*/build/*.html |
|||
!*/build/*.xml |
|||
|
|||
### JRebel ### |
|||
rebel.xml |
|||
|
|||
application-my.yaml |
|||
|
|||
/yudao-ui-app/unpackage/ |
|||
**/.DS_Store |
After Width: | Height: | Size: 112 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 152 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 348 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 204 KiB |
After Width: | Height: | Size: 139 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 201 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 130 KiB |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 160 KiB |
After Width: | Height: | Size: 150 KiB |
After Width: | Height: | Size: 124 KiB |
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 126 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 177 KiB |
After Width: | Height: | Size: 126 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 176 KiB |
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 87 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 208 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 97 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 114 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 173 KiB |
After Width: | Height: | Size: 125 KiB |
After Width: | Height: | Size: 125 KiB |
After Width: | Height: | Size: 148 KiB |
After Width: | Height: | Size: 128 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 112 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 248 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 96 KiB |
After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 129 KiB |
After Width: | Height: | Size: 102 KiB |
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 110 KiB |
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 62 KiB |
@ -0,0 +1,20 @@ |
|||
The MIT License (MIT) |
|||
|
|||
Copyright (c) 2021 ruoyi-vue-pro |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy of |
|||
this software and associated documentation files (the "Software"), to deal in |
|||
the Software without restriction, including without limitation the rights to |
|||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of |
|||
the Software, and to permit persons to whom the Software is furnished to do so, |
|||
subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS |
|||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR |
|||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER |
|||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
|||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
@ -0,0 +1,391 @@ |
|||
<p align="center"> |
|||
<img src="https://img.shields.io/badge/Spring%20Boot-3.4.5-blue.svg" alt="Downloads"> |
|||
<img src="https://img.shields.io/badge/Vue-3.2-blue.svg" alt="Downloads"> |
|||
<img src="https://img.shields.io/github/license/YunaiV/ruoyi-vue-pro" alt="Downloads" /> |
|||
</p> |
|||
|
|||
**严肃声明:现在、未来都不会有商业版本,所有代码全部开源!!** |
|||
|
|||
**「我喜欢写代码,乐此不疲」** |
|||
**「我喜欢做开源,以此为乐」** |
|||
|
|||
我 🐶 在上海艰苦奋斗,早中晚在 top3 大厂认真搬砖,夜里为开源做贡献。 |
|||
|
|||
如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 |
|||
|
|||
## 🐶 新手必读 |
|||
|
|||
* 演示地址【Vue3 + element-plus】:<http://dashboard-vue3.yudao.iocoder.cn> |
|||
* 演示地址【Vue3 + vben(ant-design-vue)】:<http://dashboard-vben.yudao.iocoder.cn> |
|||
* 演示地址【Vue2 + element-ui】:<http://dashboard.yudao.iocoder.cn> |
|||
* 启动文档:<https://doc.iocoder.cn/quick-start/> |
|||
* 视频教程:<https://doc.iocoder.cn/video/> |
|||
|
|||
## 🐰 版本说明 |
|||
|
|||
| 版本 | JDK 8 + Spring Boot 2.7 | JDK 17/21 + Spring Boot 3.2 | |
|||
|---------------------------------------------------------------------|---------------------------------------------------------------------------|---------------------------------------------------------------------------------------| |
|||
| 【完整版】[ruoyi-vue-pro](https://gitee.com/zhijiantianya/ruoyi-vue-pro) | [`master`](https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/master/) 分支 | [`master-jdk17`](https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/master-jdk17/) 分支 | |
|||
| 【精简版】[yudao-boot-mini](https://gitee.com/yudaocode/yudao-boot-mini) | [`master`](https://gitee.com/yudaocode/yudao-boot-mini/tree/master/) 分支 | [`master-jdk17`](https://gitee.com/yudaocode/yudao-boot-mini/tree/master-jdk17/) 分支 | |
|||
|
|||
* 【完整版】:包括系统功能、基础设施、会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP 等功能 |
|||
* 【精简版】:只包括系统功能、基础设施功能,不包括会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP 等功能 |
|||
|
|||
可参考 [《迁移文档》](https://doc.iocoder.cn/migrate-module/) ,只需要 5-10 分钟,即可将【完整版】按需迁移到【精简版】 |
|||
|
|||
## 🐯 平台简介 |
|||
|
|||
**芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。 |
|||
|
|||
> 有任何问题,或者想要的功能,可以在 _Issues_ 中提给艿艿。 |
|||
> |
|||
> 😜 给项目点点 Star 吧,这对我们真的很重要! |
|||
|
|||
 |
|||
|
|||
* Java 后端:`master` 分支为 JDK 8 + Spring Boot 2.7,`master-jdk17` 分支为 JDK 17/21 + Spring Boot 3.2 |
|||
* 管理后台的电脑端:Vue3 提供 `element-plus`、`vben(ant-design-vue)` 两个版本,Vue2 提供 `element-ui` 版本 |
|||
* 管理后台的移动端:采用 `uni-app` 方案,一份代码多终端适配,同时支持 APP、小程序、H5! |
|||
* 后端采用 Spring Boot 多模块架构、MySQL + MyBatis Plus、Redis + Redisson |
|||
* 数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等 |
|||
* 消息队列可使用 Event、Redis、RabbitMQ、Kafka、RocketMQ 等 |
|||
* 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统,支持 SSO 单点登录 |
|||
* 支持加载动态权限菜单,按钮级别权限控制,Redis 缓存提升性能 |
|||
* 支持 SaaS 多租户,可自定义每个租户的权限,提供透明化的多租户底层封装 |
|||
* 工作流使用 Flowable,支持动态表单、在线设计流程、会签 / 或签、多种任务分配方式 |
|||
* 高效率开发,使用代码生成器可以一键生成 Java、Vue 前后端代码、SQL 脚本、接口文档,支持单表、树表、主子表 |
|||
* 实时通信,采用 Spring WebSocket 实现,内置 Token 身份校验,支持 WebSocket 集群 |
|||
* 集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款 |
|||
* 集成阿里云、腾讯云等短信渠道,集成 MinIO、阿里云、腾讯云、七牛云等云存储服务 |
|||
* 集成报表设计器、大屏设计器,通过拖拽即可生成酷炫的报表与大屏 |
|||
|
|||
## 🐳 项目关系 |
|||
|
|||
 |
|||
|
|||
三个项目的功能对比,可见社区共同整理的 [国产开源项目对比](https://www.yuque.com/xiatian-bsgny/lm0ec1/wqf8mn) 表格。 |
|||
|
|||
### 后端项目 |
|||
|
|||
| 项目 | Star | 简介 | |
|||
|-----------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------| |
|||
| [ruoyi-vue-pro](https://gitee.com/zhijiantianya/ruoyi-vue-pro) | [](https://gitee.com/zhijiantianya/ruoyi-vue-pro) [](https://github.com/YunaiV/ruoyi-vue-pro) | 基于 Spring Boot 多模块架构 | |
|||
| [yudao-cloud](https://gitee.com/zhijiantianya/yudao-cloud) | [](https://gitee.com/zhijiantianya/yudao-cloud) [](https://github.com/YunaiV/yudao-cloud) | 基于 Spring Cloud 微服务架构 | |
|||
| [Spring-Boot-Labs](https://gitee.com/yudaocode/SpringBoot-Labs) | [](https://gitee.com/zhijiantianya/yudao-cloud) [](https://github.com/yudaocode/SpringBoot-Labs) | 系统学习 Spring Boot & Cloud 专栏 | |
|||
|
|||
### 前端项目 |
|||
|
|||
| 项目 | Star | 简介 | |
|||
|----------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------| |
|||
| [yudao-ui-admin-vue3](https://gitee.com/yudaocode/yudao-ui-admin-vue3) | [](https://gitee.com/yudaocode/yudao-ui-admin-vue3) [](https://github.com/yudaocode/yudao-ui-admin-vue3) | 基于 Vue3 + element-plus 实现的管理后台 | |
|||
| [yudao-ui-admin-vben](https://gitee.com/yudaocode/yudao-ui-admin-vben) | [](https://gitee.com/yudaocode/yudao-ui-admin-vben) [](https://github.com/yudaocode/yudao-ui-admin-vben) | 基于 Vue3 + vben(ant-design-vue) 实现的管理后台 | |
|||
| [yudao-mall-uniapp](https://gitee.com/yudaocode/yudao-mall-uniapp) | [](https://gitee.com/yudaocode/yudao-mall-uniapp) [](https://github.com/yudaocode/yudao-mall-uniapp) | 基于 uni-app 实现的商城小程序 | |
|||
| [yudao-ui-admin-vue2](https://gitee.com/yudaocode/yudao-ui-admin-vue2) | [](https://gitee.com/yudaocode/yudao-ui-admin-vue2) [](https://github.com/yudaocode/yudao-ui-admin-vue2) | 基于 Vue2 + element-ui 实现的管理后台 | |
|||
| [yudao-ui-admin-uniapp](https://gitee.com/yudaocode/yudao-ui-admin-uniapp) | [](https://gitee.com/yudaocode/yudao-ui-admin-uniapp) [](https://github.com/yudaocode/yudao-ui-admin-uniapp) | 基于 Vue2 + element-ui 实现的管理后台 | |
|||
| [yudao-ui-go-view](https://gitee.com/yudaocode/yudao-ui-go-view) | [](https://gitee.com/yudaocode/yudao-ui-go-view) [](https://github.com/yudaocode/yudao-ui-go-view) | 基于 Vue3 + naive-ui 实现的大屏报表 | |
|||
|
|||
## 😎 开源协议 |
|||
|
|||
**为什么推荐使用本项目?** |
|||
|
|||
① 本项目采用比 Apache 2.0 更宽松的 [MIT License](https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE) 开源协议,个人与企业可 100% 免费使用,不用保留类作者、Copyright 信息。 |
|||
|
|||
② 代码全部开源,不会像其他项目一样,只开源部分代码,让你无法了解整个项目的架构设计。[国产开源项目对比](https://www.yuque.com/xiatian-bsgny/lm0ec1/wqf8mn) |
|||
|
|||
 |
|||
|
|||
③ 代码整洁、架构整洁,遵循《阿里巴巴 Java 开发手册》规范,代码注释详细,113770 行 Java 代码,42462 行代码注释。 |
|||
|
|||
## 🤝 项目外包 |
|||
|
|||
我们也是接外包滴,如果你有项目想要外包,可以微信联系【**Aix9975**】。 |
|||
|
|||
团队包含专业的项目经理、架构师、前端工程师、后端工程师、测试工程师、运维工程师,可以提供全流程的外包服务。 |
|||
|
|||
项目可以是商城、SCRM 系统、OA 系统、物流系统、ERP 系统、CMS 系统、HIS 系统、支付系统、IM 聊天、微信公众号、微信小程序等等。 |
|||
|
|||
## 🐼 内置功能 |
|||
|
|||
系统内置多种多种业务功能,可以用于快速你的业务系统: |
|||
|
|||
 |
|||
|
|||
* 通用模块(必选):系统功能、基础设施 |
|||
* 通用模块(可选):工作流程、支付系统、数据报表、会员中心 |
|||
* 业务系统(按需):ERP 系统、CRM 系统、商城系统、微信公众号、AI 大模型 |
|||
|
|||
> 友情提示:本项目基于 RuoYi-Vue 修改,**重构优化**后端的代码,**美化**前端的界面。 |
|||
> |
|||
> * 额外新增的功能,我们使用 🚀 标记。 |
|||
> * 重新实现的功能,我们使用 ⭐️ 标记。 |
|||
|
|||
🙂 所有功能,都通过 **单元测试** 保证高质量。 |
|||
|
|||
### 系统功能 |
|||
|
|||
| | 功能 | 描述 | |
|||
|-----|-------|---------------------------------| |
|||
| | 用户管理 | 用户是系统操作者,该功能主要完成系统用户配置 | |
|||
| ⭐️ | 在线用户 | 当前系统中活跃用户状态监控,支持手动踢下线 | |
|||
| | 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 | |
|||
| | 菜单管理 | 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能 | |
|||
| | 部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限 | |
|||
| | 岗位管理 | 配置系统用户所属担任职务 | |
|||
| 🚀 | 租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能 | |
|||
| 🚀 | 租户套餐 | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限 | |
|||
| | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | |
|||
| 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 | |
|||
| 🚀 | 邮件管理 | 邮箱账号、邮件模版、邮件发送日志,支持所有邮件平台 | |
|||
| 🚀 | 站内信 | 系统内的消息通知,提供站内信模版、站内信消息 | |
|||
| 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 | |
|||
| ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 | |
|||
| 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 | |
|||
| | 通知公告 | 系统通知公告信息发布维护 | |
|||
| 🚀 | 敏感词 | 配置系统敏感词,支持标签分组 | |
|||
| 🚀 | 应用管理 | 管理 SSO 单点登录的应用,支持多种 OAuth2 授权方式 | |
|||
| 🚀 | 地区管理 | 展示省份、城市、区镇等城市信息,支持 IP 对应城市 | |
|||
|
|||
 |
|||
|
|||
### 工作流程 |
|||
|
|||
 |
|||
|
|||
基于 Flowable 构建,可支持信创(国产)数据库,满足中国特色流程操作: |
|||
|
|||
| BPMN 设计器 | 钉钉/飞书设计器 | |
|||
|------------------------------|--------------------------------| |
|||
|  |  | |
|||
|
|||
> 历经头部企业生产验证,工作流引擎须标配仿钉钉/飞书 + BPMN 双设计器!!! |
|||
> |
|||
> 前者支持轻量配置简单流程,后者实现复杂场景深度编排 |
|||
|
|||
| 功能列表 | 功能描述 | 是否完成 | |
|||
|------------|-------------------------------------------------------------------------------------|------| |
|||
| SIMPLE 设计器 | 仿钉钉/飞书设计器,支持拖拽搭建表单流程,10 分钟快速完成审批流程配置 | ✅ | |
|||
| BPMN 设计器 | 基于 BPMN 标准开发,适配复杂业务场景,满足多层级审批及流程自动化需求 | ✅ | |
|||
| 会签 | 同一个审批节点设置多个人(如 A、B、C 三人,三人会同时收到待办任务),需全部同意之后,审批才可到下一审批节点 | ✅ | |
|||
| 或签 | 同一个审批节点设置多个人,任意一个人处理后,就能进入下一个节点 | ✅ | |
|||
| 依次审批 | (顺序会签)同一个审批节点设置多个人(如 A、B、C 三人),三人按顺序依次收到待办,即 A 先审批,A 提交后 B 才能审批,需全部同意之后,审批才可到下一审批节点 | ✅ | |
|||
| 抄送 | 将审批结果通知给抄送人,同一个审批默认排重,不重复抄送给同一人 | ✅ | |
|||
| 驳回 | (退回)将审批重置发送给某节点,重新审批。可驳回至发起人、上一节点、任意节点 | ✅ | |
|||
| 转办 | A 转给其 B 审批,B 审批后,进入下一节点 | ✅ | |
|||
| 委派 | A 转给其 B 审批,B 审批后,转给 A,A 继续审批后进入下一节点 | ✅ | |
|||
| 加签 | 允许当前审批人根据需要,自行增加当前节点的审批人,支持向前、向后加签 | ✅ | |
|||
| 减签 | (取消加签)在当前审批人操作之前,减少审批人 | ✅ | |
|||
| 撤销 | (取消流程)流程发起人,可以对流程进行撤销处理 | ✅ | |
|||
| 终止 | 系统管理员,在任意节点终止流程实例 | ✅ | |
|||
| 表单权限 | 支持拖拉拽配置表单,每个审批节点可配置只读、编辑、隐藏权限 | ✅ | |
|||
| 超时审批 | 配置超时审批时间,超时后自动触发审批通过、不通过、驳回等操作 | ✅ | |
|||
| 自动提醒 | 配置提醒时间,到达时间后自动触发短信、邮箱、站内信等通知提醒,支持自定义重复提醒频次 | ✅ | |
|||
| 父子流程 | 主流程设置子流程节点,子流程节点会自动触发子流程。子流程结束后,主流程才会执行(继续往下下执行),支持同步子流程、异步子流程 | ✅ | |
|||
| 条件分支 | (排它分支)用于在流程中实现决策,即根据条件选择一个分支执行 | ✅ | |
|||
| 并行分支 | 允许将流程分成多条分支,不进行条件判断,所有分支都会执行 | ✅ | |
|||
| 包容分支 | (条件分支 + 并行分支的结合体)允许基于条件选择多条分支执行,但如果没有任何一个分支满足条件,则可以选择默认分支 | ✅ | |
|||
| 路由分支 | 根据条件选择一个分支执行(重定向到指定配置节点),也可以选择默认分支执行(继续往下执行) | ✅ | |
|||
| 触发节点 | 执行到该节点,触发 HTTP 请求、HTTP 回调、更新数据、删除数据等 | ✅ | |
|||
| 延迟节点 | 执行到该节点,审批等待一段时间再执行,支持固定时长、固定日期等 | ✅ | |
|||
| 拓展设置 | 流程前置/后置通知,节点(任务)前置、后置通知,流程报表,自动审批去重,自定流程编号、标题、摘要,流程报表等 | ✅ | |
|||
|
|||
### 支付系统 |
|||
|
|||
| | 功能 | 描述 | |
|||
|-----|------|---------------------------| |
|||
| 🚀 | 应用信息 | 配置商户的应用信息,对接支付宝、微信等多个支付渠道 | |
|||
| 🚀 | 支付订单 | 查看用户发起的支付宝、微信等的【支付】订单 | |
|||
| 🚀 | 退款订单 | 查看用户发起的支付宝、微信等的【退款】订单 | |
|||
| 🚀 | 回调通知 | 查看支付回调业务的【支付】【退款】的通知结果 | |
|||
| 🚀 | 接入示例 | 提供接入支付系统的【支付】【退款】的功能实战 | |
|||
|
|||
### 基础设施 |
|||
|
|||
| | 功能 | 描述 | |
|||
|-----|-----------|----------------------------------------------| |
|||
| 🚀 | 代码生成 | 前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载 | |
|||
| 🚀 | 系统接口 | 基于 Swagger 自动生成相关的 RESTful API 接口文档 | |
|||
| 🚀 | 数据库文档 | 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式 | |
|||
| | 表单构建 | 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件 | |
|||
| 🚀 | 配置管理 | 对系统动态配置常用参数,支持 SpringBoot 加载 | |
|||
| ⭐️ | 定时任务 | 在线(添加、修改、删除)任务调度包含执行结果日志 | |
|||
| 🚀 | 文件服务 | 支持将文件存储到 S3(MinIO、阿里云、腾讯云、七牛云)、本地、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 实现单元测试,保证功能的正确性、代码的质量等 | |
|||
|
|||
 |
|||
|
|||
### 数据报表 |
|||
|
|||
| | 功能 | 描述 | |
|||
|-----|-------|--------------------| |
|||
| 🚀 | 报表设计器 | 支持数据报表、图形报表、打印设计等 | |
|||
| 🚀 | 大屏设计器 | 拖拽生成数据大屏,内置几十种图表组件 | |
|||
|
|||
### 微信公众号 |
|||
|
|||
| | 功能 | 描述 | |
|||
|-----|--------|-------------------------------| |
|||
| 🚀 | 账号管理 | 配置接入的微信公众号,可支持多个公众号 | |
|||
| 🚀 | 数据统计 | 统计公众号的用户增减、累计用户、消息概况、接口分析等数据 | |
|||
| 🚀 | 粉丝管理 | 查看已关注、取关的粉丝列表,可对粉丝进行同步、打标签等操作 | |
|||
| 🚀 | 消息管理 | 查看粉丝发送的消息列表,可主动回复粉丝消息 | |
|||
| 🚀 | 自动回复 | 自动回复粉丝发送的消息,支持关注回复、消息回复、关键字回复 | |
|||
| 🚀 | 标签管理 | 对公众号的标签进行创建、查询、修改、删除等操作 | |
|||
| 🚀 | 菜单管理 | 自定义公众号的菜单,也可以从公众号同步菜单 | |
|||
| 🚀 | 素材管理 | 管理公众号的图片、语音、视频等素材,支持在线播放语音、视频 | |
|||
| 🚀 | 图文草稿箱 | 新增常用的图文素材到草稿箱,可发布到公众号 | |
|||
| 🚀 | 图文发表记录 | 查看已发布成功的图文素材,支持删除操作 | |
|||
|
|||
### 商城系统 |
|||
|
|||
演示地址:<https://doc.iocoder.cn/mall-preview/> |
|||
|
|||
 |
|||
|
|||
 |
|||
|
|||
### 会员中心 |
|||
|
|||
| | 功能 | 描述 | |
|||
|-----|------|----------------------------------| |
|||
| 🚀 | 会员管理 | 会员是 C 端的消费者,该功能用于会员的搜索与管理 | |
|||
| 🚀 | 会员标签 | 对会员的标签进行创建、查询、修改、删除等操作 | |
|||
| 🚀 | 会员等级 | 对会员的等级、成长值进行管理,可用于订单折扣等会员权益 | |
|||
| 🚀 | 会员分组 | 对会员进行分组,用于用户画像、内容推送等运营手段 | |
|||
| 🚀 | 积分签到 | 回馈给签到、消费等行为的积分,会员可订单抵现、积分兑换等途径消耗 | |
|||
|
|||
### ERP 系统 |
|||
|
|||
演示地址:<https://doc.iocoder.cn/erp-preview/> |
|||
|
|||
 |
|||
|
|||
### CRM 系统 |
|||
|
|||
演示地址:<https://doc.iocoder.cn/crm-preview/> |
|||
|
|||
 |
|||
|
|||
### AI 大模型 |
|||
|
|||
演示地址:<https://doc.iocoder.cn/ai-preview/> |
|||
|
|||
 |
|||
|
|||
 |
|||
|
|||
## 🐨 技术栈 |
|||
|
|||
### 模块 |
|||
|
|||
| 项目 | 说明 | |
|||
|-----------------------|--------------------| |
|||
| `yudao-dependencies` | Maven 依赖版本管理 | |
|||
| `yudao-framework` | Java 框架拓展 | |
|||
| `yudao-server` | 管理后台 + 用户 APP 的服务端 | |
|||
| `yudao-module-system` | 系统功能的 Module 模块 | |
|||
| `yudao-module-member` | 会员中心的 Module 模块 | |
|||
| `yudao-module-infra` | 基础设施的 Module 模块 | |
|||
| `yudao-module-bpm` | 工作流程的 Module 模块 | |
|||
| `yudao-module-pay` | 支付系统的 Module 模块 | |
|||
| `yudao-module-mall` | 商城系统的 Module 模块 | |
|||
| `yudao-module-erp` | ERP 系统的 Module 模块 | |
|||
| `yudao-module-crm` | CRM 系统的 Module 模块 | |
|||
| `yudao-module-ai` | AI 大模型的 Module 模块 | |
|||
| `yudao-module-mp` | 微信公众号的 Module 模块 | |
|||
| `yudao-module-report` | 大屏报表 Module 模块 | |
|||
|
|||
### 框架 |
|||
|
|||
| 框架 | 说明 | 版本 | 学习指南 | |
|||
|---------------------------------------------------------------------------------------------|------------------|----------------|----------------------------------------------------------------| |
|||
| [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 3.4.5 | [文档](https://github.com/YunaiV/SpringBoot-Labs) | |
|||
| [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.7 / 8.0+ | | |
|||
| [Druid](https://github.com/alibaba/druid) | JDBC 连接池、监控组件 | 1.2.23 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) | |
|||
| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.5.7 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) | |
|||
| [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 4.3.1 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) | |
|||
| [Redis](https://redis.io/) | key-value 数据库 | 5.0 / 6.0 /7.0 | | |
|||
| [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 3.32.0 | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?yudao) | |
|||
| [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架 | 6.1.10 | [文档](http://www.iocoder.cn/SpringMVC/MVC/?yudao) | |
|||
| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 6.3.1 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) | |
|||
| [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 8.0.1 | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao) | |
|||
| [Flowable](https://github.com/flowable/flowable-engine) | 工作流引擎 | 7.0.0 | [文档](https://doc.iocoder.cn/bpm/) | |
|||
| [Quartz](https://github.com/quartz-scheduler) | 任务调度组件 | 2.3.2 | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao) | |
|||
| [Springdoc](https://springdoc.org/) | Swagger 文档 | 2.3.0 | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao) | |
|||
| [SkyWalking](https://skywalking.apache.org/) | 分布式应用追踪系统 | 9.0.0 | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao) | |
|||
| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 3.3.2 | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao) | |
|||
| [Jackson](https://github.com/FasterXML/jackson) | JSON 工具库 | 2.17.1 | | |
|||
| [MapStruct](https://mapstruct.org/) | Java Bean 转换 | 1.6.3 | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao) | |
|||
| [Lombok](https://projectlombok.org/) | 消除冗长的 Java 代码 | 1.18.34 | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?yudao) | |
|||
| [JUnit](https://junit.org/junit5/) | Java 单元测试框架 | 5.10.1 | - | |
|||
| [Mockito](https://github.com/mockito/mockito) | Java Mock 框架 | 5.7.0 | - | |
|||
|
|||
## 🐷 演示图 |
|||
|
|||
### 系统功能 |
|||
|
|||
| 模块 | biu | biu | biu | |
|||
|----------|-----------------------------|---------------------------|--------------------------| |
|||
| 登录 & 首页 |  |  |  | |
|||
| 用户 & 应用 |  |  |  | |
|||
| 租户 & 套餐 |  |  | - | |
|||
| 部门 & 岗位 |  |  | - | |
|||
| 菜单 & 角色 |  |  | - | |
|||
| 审计日志 |  |  | - | |
|||
| 短信 |  |  |  | |
|||
| 字典 & 敏感词 |  |  |  | |
|||
| 错误码 & 通知 |  |  | - | |
|||
|
|||
### 工作流程 |
|||
|
|||
| 模块 | biu | biu | biu | |
|||
|---------|---------------------------------|---------------------------------|---------------------------------| |
|||
| 流程模型 |  |  |  | |
|||
| 表单 & 分组 |  |  | - | |
|||
| 我的流程 |  |  |  | |
|||
| 待办 & 已办 |  |  |  | |
|||
| OA 请假 |  |  |  | |
|||
|
|||
### 基础设施 |
|||
|
|||
| 模块 | biu | biu | biu | |
|||
|---------------|-------------------------------|-----------------------------|---------------------------| |
|||
| 代码生成 |  |  | - | |
|||
| 文档 |  |  | - | |
|||
| 文件 & 配置 |  |  |  | |
|||
| 定时任务 |  |  | - | |
|||
| API 日志 |  |  | - | |
|||
| MySQL & Redis |  |  | - | |
|||
| 监控平台 |  |  |  | |
|||
|
|||
### 支付系统 |
|||
|
|||
| 模块 | biu | biu | biu | |
|||
|---------|---------------------------|---------------------------------|---------------------------------| |
|||
| 商家 & 应用 |  |  |  | |
|||
| 支付 & 退款 |  |  | --- | |
|||
### 数据报表 |
|||
|
|||
| 模块 | biu | biu | biu | |
|||
|-------|---------------------------------|---------------------------------|---------------------------------------| |
|||
| 报表设计器 |  |  |  | |
|||
| 大屏设计器 |  |  |  | |
|||
|
|||
### 移动端(管理后台) |
|||
|
|||
| biu | biu | biu | |
|||
|----------------------------------|----------------------------------|----------------------------------| |
|||
|  |  |  | |
|||
|  |  |  | |
|||
|  |  |  | |
|||
|
|||
目前已经实现登录、我的、工作台、编辑资料、头像修改、密码修改、常见问题、关于我们等基础功能。 |
@ -0,0 +1,4 @@ |
|||
config.stopBubbling = true |
|||
lombok.tostring.callsuper=CALL |
|||
lombok.equalsandhashcode.callsuper=CALL |
|||
lombok.accessors.chain=true |
@ -0,0 +1,172 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao</artifactId> |
|||
<version>${revision}</version> |
|||
<packaging>pom</packaging> |
|||
<modules> |
|||
<module>yudao-dependencies</module> |
|||
<module>yudao-framework</module> |
|||
<!-- Server 主项目 --> |
|||
<module>yudao-server</module> |
|||
<!-- 各种 module 拓展 --> |
|||
<module>yudao-module-system</module> |
|||
<module>yudao-module-infra</module> |
|||
<module>yudao-module-member</module> |
|||
<module>yudao-module-bpm</module> |
|||
<module>yudao-module-report</module> |
|||
<module>yudao-module-iot</module> |
|||
</modules> |
|||
|
|||
<name>${project.artifactId}</name> |
|||
<description>芋道项目基础脚手架</description> |
|||
<url>https://github.com/YunaiV/ruoyi-vue-pro</url> |
|||
|
|||
<properties> |
|||
<revision>2.6.1-SNAPSHOT</revision> |
|||
<!-- Maven 相关 --> |
|||
<java.version>21</java.version> |
|||
<maven.compiler.source>${java.version}</maven.compiler.source> |
|||
<maven.compiler.target>${java.version}</maven.compiler.target> |
|||
<maven-surefire-plugin.version>3.2.2</maven-surefire-plugin.version> |
|||
<maven-compiler-plugin.version>3.14.0</maven-compiler-plugin.version> |
|||
<flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version> |
|||
<!-- maven-surefire-plugin 暂时无法通过 bom 的依赖读取(兼容老版本 IDEA 2024 及以前版本) --> |
|||
<lombok.version>1.18.38</lombok.version> |
|||
<spring.boot.version>3.4.5</spring.boot.version> |
|||
<mapstruct.version>1.6.3</mapstruct.version> |
|||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
|||
</properties> |
|||
|
|||
<dependencyManagement> |
|||
<dependencies> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-dependencies</artifactId> |
|||
<version>${revision}</version> |
|||
<type>pom</type> |
|||
<scope>import</scope> |
|||
</dependency> |
|||
</dependencies> |
|||
</dependencyManagement> |
|||
|
|||
<build> |
|||
<pluginManagement> |
|||
<plugins> |
|||
<!-- maven-surefire-plugin 插件,用于运行单元测试。 --> |
|||
<!-- 注意,需要使用 3.0.X+,因为要支持 Junit 5 版本 --> |
|||
<plugin> |
|||
<groupId>org.apache.maven.plugins</groupId> |
|||
<artifactId>maven-surefire-plugin</artifactId> |
|||
<version>${maven-surefire-plugin.version}</version> |
|||
</plugin> |
|||
<!-- maven-compiler-plugin 插件,解决 spring-boot-configuration-processor + Lombok + MapStruct 组合 --> |
|||
<!-- https://stackoverflow.com/questions/33483697/re-run-spring-boot-configuration-annotation-processor-to-update-generated-metada --> |
|||
<plugin> |
|||
<groupId>org.apache.maven.plugins</groupId> |
|||
<artifactId>maven-compiler-plugin</artifactId> |
|||
<version>${maven-compiler-plugin.version}</version> |
|||
<configuration> |
|||
<annotationProcessorPaths> |
|||
<path> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-configuration-processor</artifactId> |
|||
<version>${spring.boot.version}</version> |
|||
</path> |
|||
<path> |
|||
<groupId>org.projectlombok</groupId> |
|||
<artifactId>lombok</artifactId> |
|||
<version>${lombok.version}</version> |
|||
</path> |
|||
<path> |
|||
<!-- 确保 Lombok 生成的 getter/setter 方法能被 MapStruct 正确识别, |
|||
避免出现 No property named “xxx" exists 的编译错误 --> |
|||
<groupId>org.projectlombok</groupId> |
|||
<artifactId>lombok-mapstruct-binding</artifactId> |
|||
<version>0.2.0</version> |
|||
</path> |
|||
<path> |
|||
<groupId>org.mapstruct</groupId> |
|||
<artifactId>mapstruct-processor</artifactId> |
|||
<version>${mapstruct.version}</version> |
|||
</path> |
|||
</annotationProcessorPaths> |
|||
<!-- 编译参数写在 arg 内,解决 Spring Boot 3.2 的 Parameter Name Discovery 问题 --> |
|||
<debug>false</debug> |
|||
<compilerArgs> |
|||
<arg>-parameters</arg> |
|||
</compilerArgs> |
|||
</configuration> |
|||
</plugin> |
|||
<plugin> |
|||
<groupId>org.codehaus.mojo</groupId> |
|||
<artifactId>flatten-maven-plugin</artifactId> |
|||
</plugin> |
|||
</plugins> |
|||
</pluginManagement> |
|||
|
|||
<plugins> |
|||
<!-- 统一 revision 版本 --> |
|||
<plugin> |
|||
<groupId>org.codehaus.mojo</groupId> |
|||
<artifactId>flatten-maven-plugin</artifactId> |
|||
<version>${flatten-maven-plugin.version}</version> |
|||
<configuration> |
|||
<flattenMode>oss</flattenMode> |
|||
<updatePomFile>true</updatePomFile> |
|||
</configuration> |
|||
<executions> |
|||
<execution> |
|||
<goals> |
|||
<goal>flatten</goal> |
|||
</goals> |
|||
<id>flatten</id> |
|||
<phase>process-resources</phase> |
|||
</execution> |
|||
<execution> |
|||
<goals> |
|||
<goal>clean</goal> |
|||
</goals> |
|||
<id>flatten.clean</id> |
|||
<phase>clean</phase> |
|||
</execution> |
|||
</executions> |
|||
</plugin> |
|||
</plugins> |
|||
</build> |
|||
|
|||
<!-- 使用 huawei / aliyun 的 Maven 源,提升下载速度 --> |
|||
<repositories> |
|||
<repository> |
|||
<id>huaweicloud</id> |
|||
<name>huawei</name> |
|||
<url>https://mirrors.huaweicloud.com/repository/maven/</url> |
|||
</repository> |
|||
<repository> |
|||
<id>aliyunmaven</id> |
|||
<name>aliyun</name> |
|||
<url>https://maven.aliyun.com/repository/public</url> |
|||
</repository> |
|||
|
|||
<repository> |
|||
<id>spring-milestones</id> |
|||
<name>Spring Milestones</name> |
|||
<url>https://repo.spring.io/milestone</url> |
|||
<snapshots> |
|||
<enabled>false</enabled> |
|||
</snapshots> |
|||
</repository> |
|||
<repository> |
|||
<id>spring-snapshots</id> |
|||
<name>Spring Snapshots</name> |
|||
<url>https://repo.spring.io/snapshot</url> |
|||
<releases> |
|||
<enabled>false</enabled> |
|||
</releases> |
|||
</repository> |
|||
</repositories> |
|||
|
|||
</project> |
@ -0,0 +1,674 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
|
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-dependencies</artifactId> |
|||
<version>${revision}</version> |
|||
<packaging>pom</packaging> |
|||
|
|||
<name>${project.artifactId}</name> |
|||
<description>基础 bom 文件,管理整个项目的依赖版本</description> |
|||
<url>https://github.com/YunaiV/ruoyi-vue-pro</url> |
|||
|
|||
<properties> |
|||
<revision>2.6.1-SNAPSHOT</revision> |
|||
<flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version> |
|||
<!-- 统一依赖管理 --> |
|||
<spring.boot.version>3.4.5</spring.boot.version> |
|||
<!-- Web 相关 --> |
|||
<springdoc.version>2.8.3</springdoc.version> |
|||
<knife4j.version>4.6.0</knife4j.version> |
|||
<!-- DB 相关 --> |
|||
<druid.version>1.2.24</druid.version> |
|||
<mybatis.version>3.5.19</mybatis.version> |
|||
<mybatis-plus.version>3.5.10.1</mybatis-plus.version> |
|||
<dynamic-datasource.version>4.3.1</dynamic-datasource.version> |
|||
<mybatis-plus-join.version>1.4.13</mybatis-plus-join.version> |
|||
<easy-trans.version>3.0.6</easy-trans.version> |
|||
<redisson.version>3.41.0</redisson.version> |
|||
<dm8.jdbc.version>8.1.3.140</dm8.jdbc.version> |
|||
<kingbase.jdbc.version>8.6.0</kingbase.jdbc.version> |
|||
<opengauss.jdbc.version>5.1.0</opengauss.jdbc.version> |
|||
<taos.version>3.3.3</taos.version> |
|||
<!-- 消息队列 --> |
|||
<rocketmq-spring.version>2.3.2</rocketmq-spring.version> |
|||
<!-- 服务保障相关 --> |
|||
<lock4j.version>2.2.7</lock4j.version> |
|||
<!-- 监控相关 --> |
|||
<skywalking.version>9.0.0</skywalking.version> |
|||
<spring-boot-admin.version>3.4.5</spring-boot-admin.version> |
|||
<opentracing.version>0.33.0</opentracing.version> |
|||
<!-- Test 测试相关 --> |
|||
<podam.version>8.0.2.RELEASE</podam.version> |
|||
<jedis-mock.version>1.1.8</jedis-mock.version> |
|||
<mockito-inline.version>5.2.0</mockito-inline.version> |
|||
<!-- Bpm 工作流相关 --> |
|||
<flowable.version>7.0.1</flowable.version> |
|||
<!-- 工具类相关 --> |
|||
<anji-plus-captcha.version>1.4.0</anji-plus-captcha.version> |
|||
<jsoup.version>1.18.3</jsoup.version> |
|||
<lombok.version>1.18.38</lombok.version> |
|||
<mapstruct.version>1.6.3</mapstruct.version> |
|||
<hutool-5.version>5.8.35</hutool-5.version> |
|||
<hutool-6.version>6.0.0-M19</hutool-6.version> |
|||
<easyexcel.version>4.0.3</easyexcel.version> |
|||
<velocity.version>2.4.1</velocity.version> |
|||
<fastjson.version>1.2.83</fastjson.version> |
|||
<guava.version>33.4.8-jre</guava.version> |
|||
<transmittable-thread-local.version>2.14.5</transmittable-thread-local.version> |
|||
<commons-net.version>3.11.1</commons-net.version> |
|||
<jsch.version>0.1.55</jsch.version> |
|||
<tika-core.version>3.1.0</tika-core.version> |
|||
<ip2region.version>2.7.0</ip2region.version> |
|||
<bizlog-sdk.version>3.0.6</bizlog-sdk.version> |
|||
<netty.version>4.1.118.Final</netty.version> |
|||
<mqtt.version>1.2.5</mqtt.version> |
|||
<pf4j-spring.version>0.9.0</pf4j-spring.version> |
|||
<vertx.version>4.5.13</vertx.version> |
|||
<!-- 三方云服务相关 --> |
|||
<commons-io.version>2.17.0</commons-io.version> |
|||
<commons-compress.version>1.27.1</commons-compress.version> |
|||
<awssdk.version>2.30.14</awssdk.version> |
|||
<justauth.version>1.16.7</justauth.version> |
|||
<justauth-starter.version>1.4.0</justauth-starter.version> |
|||
<jimureport.version>2.0.0</jimureport.version> |
|||
<jimubi.version>1.9.5</jimubi.version> |
|||
<weixin-java.version>4.7.5.B</weixin-java.version> |
|||
</properties> |
|||
|
|||
<dependencyManagement> |
|||
<dependencies> |
|||
<!-- 统一依赖管理 --> |
|||
<dependency> |
|||
<groupId>io.netty</groupId> |
|||
<artifactId>netty-bom</artifactId> |
|||
<version>${netty.version}</version> |
|||
<type>pom</type> |
|||
<scope>import</scope> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-dependencies</artifactId> |
|||
<version>${spring.boot.version}</version> |
|||
<type>pom</type> |
|||
<scope>import</scope> |
|||
</dependency> |
|||
|
|||
<!-- 业务组件 --> |
|||
<dependency> |
|||
<groupId>io.github.mouzt</groupId> |
|||
<artifactId>bizlog-sdk</artifactId> |
|||
<version>${bizlog-sdk.version}</version> |
|||
<exclusions> |
|||
<exclusion> <!-- 排除掉springboot依赖使用项目的 --> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter</artifactId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-biz-data-permission</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-biz-ip</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<!-- Spring 核心 --> |
|||
<dependency> |
|||
<!-- 用于生成自定义的 Spring @ConfigurationProperties 配置类的说明文件 --> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-configuration-processor</artifactId> |
|||
<version>${spring.boot.version}</version> |
|||
</dependency> |
|||
|
|||
<!-- Web 相关 --> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-web</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-security</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-websocket</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.github.xingfudeshi</groupId> <!-- TODO 芋艿:https://github.com/xiaoymin/knife4j/issues/874 --> |
|||
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId> |
|||
<version>${knife4j.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springdoc</groupId> |
|||
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId> |
|||
<version>${springdoc.version}</version> |
|||
</dependency> |
|||
|
|||
<!-- DB 相关 --> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-mybatis</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.alibaba</groupId> |
|||
<artifactId>druid-spring-boot-3-starter</artifactId> |
|||
<version>${druid.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<!-- 注意:必须声明,避免 flowable 和 mybatis-plus 引入的 mybatis 版本不一致!!! --> |
|||
<groupId>org.mybatis</groupId> |
|||
<artifactId>mybatis</artifactId> |
|||
<version>${mybatis.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>mybatis-plus-spring-boot3-starter</artifactId> |
|||
<version>${mybatis-plus.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>mybatis-plus-jsqlparser</artifactId> |
|||
<version>${mybatis-plus.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>mybatis-plus-generator</artifactId> <!-- 代码生成器,使用它解析表结构 --> |
|||
<version>${mybatis-plus.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId> <!-- 多数据源 --> |
|||
<version>${dynamic-datasource.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.github.yulichang</groupId> |
|||
<artifactId>mybatis-plus-join-boot-starter</artifactId> <!-- MyBatis 联表查询 --> |
|||
<version>${mybatis-plus-join.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.fhs-opensource</groupId> <!-- VO 数据翻译 --> |
|||
<artifactId>easy-trans-spring-boot-starter</artifactId> |
|||
<version>${easy-trans.version}</version> |
|||
<exclusions> |
|||
<exclusion> |
|||
<groupId>org.springframework</groupId> |
|||
<artifactId>spring-context</artifactId> |
|||
</exclusion> |
|||
<exclusion> |
|||
<groupId>org.springframework.cloud</groupId> |
|||
<artifactId>spring-cloud-commons</artifactId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.fhs-opensource</groupId> |
|||
<artifactId>easy-trans-mybatis-plus-extend</artifactId> |
|||
<version>${easy-trans.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.fhs-opensource</groupId> |
|||
<artifactId>easy-trans-anno</artifactId> |
|||
<version>${easy-trans.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-redis</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.redisson</groupId> |
|||
<artifactId>redisson-spring-boot-starter</artifactId> |
|||
<version>${redisson.version}</version> |
|||
<exclusions> |
|||
<exclusion> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-actuator</artifactId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.dameng</groupId> |
|||
<artifactId>DmJdbcDriver18</artifactId> |
|||
<version>${dm8.jdbc.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.opengauss</groupId> |
|||
<artifactId>opengauss-jdbc</artifactId> |
|||
<version>${opengauss.jdbc.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>cn.com.kingbase</groupId> |
|||
<artifactId>kingbase8</artifactId> |
|||
<version>${kingbase.jdbc.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.taosdata.jdbc</groupId> |
|||
<artifactId>taos-jdbcdriver</artifactId> |
|||
<version>${taos.version}</version> |
|||
</dependency> |
|||
|
|||
<!-- Job 定时任务相关 --> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-job</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<!-- 消息队列相关 --> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-mq</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.apache.rocketmq</groupId> |
|||
<artifactId>rocketmq-spring-boot-starter</artifactId> |
|||
<version>${rocketmq-spring.version}</version> |
|||
</dependency> |
|||
|
|||
<!-- 服务保障相关 --> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-protection</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.baomidou</groupId> |
|||
<artifactId>lock4j-redisson-spring-boot-starter</artifactId> |
|||
<version>${lock4j.version}</version> |
|||
<exclusions> |
|||
<exclusion> |
|||
<artifactId>redisson-spring-boot-starter</artifactId> |
|||
<groupId>org.redisson</groupId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
|
|||
<!-- 监控相关 --> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-monitor</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.apache.skywalking</groupId> |
|||
<artifactId>apm-toolkit-trace</artifactId> |
|||
<version>${skywalking.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.apache.skywalking</groupId> |
|||
<artifactId>apm-toolkit-logback-1.x</artifactId> |
|||
<version>${skywalking.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.apache.skywalking</groupId> |
|||
<artifactId>apm-toolkit-opentracing</artifactId> |
|||
<version>${skywalking.version}</version> |
|||
<!-- <exclusions>--> |
|||
<!-- <exclusion>--> |
|||
<!-- <artifactId>opentracing-api</artifactId>--> |
|||
<!-- <groupId>io.opentracing</groupId>--> |
|||
<!-- </exclusion>--> |
|||
<!-- <exclusion>--> |
|||
<!-- <artifactId>opentracing-util</artifactId>--> |
|||
<!-- <groupId>io.opentracing</groupId>--> |
|||
<!-- </exclusion>--> |
|||
<!-- </exclusions>--> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>io.opentracing</groupId> |
|||
<artifactId>opentracing-api</artifactId> |
|||
<version>${opentracing.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>io.opentracing</groupId> |
|||
<artifactId>opentracing-util</artifactId> |
|||
<version>${opentracing.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>io.opentracing</groupId> |
|||
<artifactId>opentracing-noop</artifactId> |
|||
<version>${opentracing.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>de.codecentric</groupId> |
|||
<artifactId>spring-boot-admin-starter-server</artifactId> <!-- 实现 Spring Boot Admin Server 服务端 --> |
|||
<version>${spring-boot-admin.version}</version> |
|||
<exclusions> |
|||
<exclusion> |
|||
<groupId>de.codecentric</groupId> |
|||
<artifactId>spring-boot-admin-server-cloud</artifactId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>de.codecentric</groupId> |
|||
<artifactId>spring-boot-admin-starter-client</artifactId> <!-- 实现 Spring Boot Admin Server 服务端 --> |
|||
<version>${spring-boot-admin.version}</version> |
|||
</dependency> |
|||
|
|||
<!-- Test 测试相关 --> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-test</artifactId> |
|||
<version>${revision}</version> |
|||
<scope>test</scope> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.mockito</groupId> |
|||
<artifactId>mockito-inline</artifactId> |
|||
<version>${mockito-inline.version}</version> <!-- 支持 Mockito 的 final 类与 static 方法的 mock --> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-test</artifactId> |
|||
<version>${spring.boot.version}</version> |
|||
<exclusions> |
|||
<exclusion> |
|||
<artifactId>asm</artifactId> |
|||
<groupId>org.ow2.asm</groupId> |
|||
</exclusion> |
|||
<exclusion> |
|||
<groupId>org.mockito</groupId> |
|||
<artifactId>mockito-core</artifactId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
|
|||
<!-- 工作流相关 --> |
|||
<dependency> |
|||
<groupId>org.flowable</groupId> |
|||
<artifactId>flowable-spring-boot-starter-process</artifactId> |
|||
<version>${flowable.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.flowable</groupId> |
|||
<artifactId>flowable-spring-boot-starter-actuator</artifactId> |
|||
<version>${flowable.version}</version> |
|||
</dependency> |
|||
<!-- 工作流相关结束 --> |
|||
|
|||
<!-- 工具类相关 --> |
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-common</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-spring-boot-starter-excel</artifactId> |
|||
<version>${revision}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.projectlombok</groupId> |
|||
<artifactId>lombok</artifactId> |
|||
<version>${lombok.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.mapstruct</groupId> |
|||
<artifactId>mapstruct</artifactId> <!-- use mapstruct-jdk8 for Java 8 or higher --> |
|||
<version>${mapstruct.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.mapstruct</groupId> |
|||
<artifactId>mapstruct-jdk8</artifactId> |
|||
<version>${mapstruct.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.mapstruct</groupId> |
|||
<artifactId>mapstruct-processor</artifactId> |
|||
<version>${mapstruct.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>cn.hutool</groupId> |
|||
<artifactId>hutool-all</artifactId> |
|||
<version>${hutool-5.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.dromara.hutool</groupId> |
|||
<artifactId>hutool-extra</artifactId> |
|||
<version>${hutool-6.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.alibaba</groupId> |
|||
<artifactId>easyexcel</artifactId> |
|||
<version>${easyexcel.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>commons-io</groupId> |
|||
<artifactId>commons-io</artifactId> |
|||
<version>${commons-io.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.apache.commons</groupId> |
|||
<artifactId>commons-compress</artifactId> |
|||
<version>${commons-compress.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.apache.tika</groupId> |
|||
<artifactId>tika-core</artifactId> <!-- 文件类型的识别 --> |
|||
<version>${tika-core.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.apache.velocity</groupId> |
|||
<artifactId>velocity-engine-core</artifactId> |
|||
<version>${velocity.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.alibaba</groupId> |
|||
<artifactId>fastjson</artifactId> |
|||
<version>${fastjson.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.google.guava</groupId> |
|||
<artifactId>guava</artifactId> |
|||
<version>${guava.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.alibaba</groupId> |
|||
<artifactId>transmittable-thread-local</artifactId> <!-- 解决 ThreadLocal 父子线程的传值问题 --> |
|||
<version>${transmittable-thread-local.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>commons-net</groupId> |
|||
<artifactId>commons-net</artifactId> <!-- 解决 ftp 连接 --> |
|||
<version>${commons-net.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.jcraft</groupId> |
|||
<artifactId>jsch</artifactId> <!-- 解决 sftp 连接 --> |
|||
<version>${jsch.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.anji-plus</groupId> |
|||
<artifactId>captcha-spring-boot-starter</artifactId> <!-- 验证码,一般用于登录使用 --> |
|||
<version>${anji-plus-captcha.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.lionsoul</groupId> |
|||
<artifactId>ip2region</artifactId> |
|||
<version>${ip2region.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.jsoup</groupId> |
|||
<artifactId>jsoup</artifactId> |
|||
<version>${jsoup.version}</version> |
|||
</dependency> |
|||
|
|||
<!-- 三方云服务相关 --> |
|||
<dependency> |
|||
<groupId>software.amazon.awssdk</groupId> |
|||
<artifactId>s3</artifactId> |
|||
<version>${awssdk.version}</version> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>me.zhyd.oauth</groupId> |
|||
<artifactId>JustAuth</artifactId> <!-- 社交登陆(例如说,个人微信、企业微信等等) --> |
|||
<version>${justauth.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.xkcoding.justauth</groupId> |
|||
<artifactId>justauth-spring-boot-starter</artifactId> |
|||
<version>${justauth-starter.version}</version> |
|||
<exclusions> |
|||
<!-- 移除,避免和项目里的 hutool-all 冲突 --> |
|||
<exclusion> |
|||
<groupId>cn.hutool</groupId> |
|||
<artifactId>hutool-core</artifactId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.github.binarywang</groupId> |
|||
<artifactId>weixin-java-pay</artifactId> |
|||
<version>${weixin-java.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.github.binarywang</groupId> |
|||
<artifactId>wx-java-mp-spring-boot-starter</artifactId> |
|||
<version>${weixin-java.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.github.binarywang</groupId> |
|||
<artifactId>wx-java-miniapp-spring-boot-starter</artifactId> |
|||
<version>${weixin-java.version}</version> |
|||
</dependency> |
|||
|
|||
<!-- 积木报表--> |
|||
<dependency> |
|||
<groupId>org.jeecgframework.jimureport</groupId> |
|||
<artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId> |
|||
<version>${jimureport.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.jeecgframework.jimureport</groupId> |
|||
<artifactId>jimubi-spring-boot3-starter</artifactId> |
|||
<version>${jimubi.version}</version> |
|||
<exclusions> |
|||
<exclusion> |
|||
<groupId>com.github.jsqlparser</groupId> |
|||
<artifactId>jsqlparser</artifactId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
|
|||
<!-- PF4J --> |
|||
<dependency> |
|||
<groupId>org.pf4j</groupId> |
|||
<artifactId>pf4j-spring</artifactId> |
|||
<version>${pf4j-spring.version}</version> |
|||
<exclusions> |
|||
<exclusion> |
|||
<groupId>org.slf4j</groupId> |
|||
<artifactId>slf4j-log4j12</artifactId> |
|||
</exclusion> |
|||
</exclusions> |
|||
</dependency> |
|||
|
|||
<!-- Vert.x --> |
|||
<dependency> |
|||
<groupId>io.vertx</groupId> |
|||
<artifactId>vertx-core</artifactId> |
|||
<version>${vertx.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>io.vertx</groupId> |
|||
<artifactId>vertx-web</artifactId> |
|||
<version>${vertx.version}</version> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>io.vertx</groupId> |
|||
<artifactId>vertx-mqtt</artifactId> |
|||
<version>${vertx.version}</version> |
|||
</dependency> |
|||
|
|||
<!-- MQTT --> |
|||
<dependency> |
|||
<groupId>org.eclipse.paho</groupId> |
|||
<artifactId>org.eclipse.paho.client.mqttv3</artifactId> |
|||
<version>${mqtt.version}</version> |
|||
</dependency> |
|||
</dependencies> |
|||
</dependencyManagement> |
|||
|
|||
<build> |
|||
<plugins> |
|||
<!-- 统一 revision 版本 --> |
|||
<plugin> |
|||
<groupId>org.codehaus.mojo</groupId> |
|||
<artifactId>flatten-maven-plugin</artifactId> |
|||
<version>${flatten-maven-plugin.version}</version> |
|||
<configuration> |
|||
<flattenMode>bom</flattenMode> |
|||
<updatePomFile>true</updatePomFile> |
|||
</configuration> |
|||
<executions> |
|||
<execution> |
|||
<goals> |
|||
<goal>flatten</goal> |
|||
</goals> |
|||
<id>flatten</id> |
|||
<phase>process-resources</phase> |
|||
</execution> |
|||
<execution> |
|||
<goals> |
|||
<goal>clean</goal> |
|||
</goals> |
|||
<id>flatten.clean</id> |
|||
<phase>clean</phase> |
|||
</execution> |
|||
</executions> |
|||
</plugin> |
|||
</plugins> |
|||
</build> |
|||
|
|||
</project> |
@ -0,0 +1,46 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<parent> |
|||
<artifactId>yudao</artifactId> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<version>${revision}</version> |
|||
</parent> |
|||
<packaging>pom</packaging> |
|||
<modules> |
|||
<module>yudao-common</module> |
|||
<module>yudao-spring-boot-starter-mybatis</module> |
|||
<module>yudao-spring-boot-starter-redis</module> |
|||
<module>yudao-spring-boot-starter-web</module> |
|||
<module>yudao-spring-boot-starter-security</module> |
|||
<module>yudao-spring-boot-starter-websocket</module> |
|||
|
|||
<module>yudao-spring-boot-starter-monitor</module> |
|||
<module>yudao-spring-boot-starter-protection</module> |
|||
<module>yudao-spring-boot-starter-job</module> |
|||
<module>yudao-spring-boot-starter-mq</module> |
|||
|
|||
<module>yudao-spring-boot-starter-excel</module> |
|||
<module>yudao-spring-boot-starter-test</module> |
|||
|
|||
<module>yudao-spring-boot-starter-biz-tenant</module> |
|||
<module>yudao-spring-boot-starter-biz-data-permission</module> |
|||
<module>yudao-spring-boot-starter-biz-ip</module> |
|||
</modules> |
|||
|
|||
<artifactId>yudao-framework</artifactId> |
|||
<description> |
|||
该包是技术组件,每个子包,代表一个组件。每个组件包括两部分: |
|||
1. core 包:是该组件的核心封装 |
|||
2. config 包:是该组件基于 Spring 的配置 |
|||
|
|||
技术组件,也分成两类: |
|||
1. 框架组件:和我们熟悉的 MyBatis、Redis 等等的拓展 |
|||
2. 业务组件:和业务相关的组件的封装,例如说数据字典、操作日志等等。 |
|||
如果是业务组件,Maven 名字会包含 biz |
|||
</description> |
|||
<url>https://github.com/YunaiV/ruoyi-vue-pro</url> |
|||
|
|||
</project> |
@ -0,0 +1,149 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" |
|||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<parent> |
|||
<groupId>cn.iocoder.boot</groupId> |
|||
<artifactId>yudao-framework</artifactId> |
|||
<version>${revision}</version> |
|||
</parent> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<artifactId>yudao-common</artifactId> |
|||
<packaging>jar</packaging> |
|||
|
|||
<name>${project.artifactId}</name> |
|||
<description>定义基础 pojo 类、枚举、工具类等等</description> |
|||
<url>https://github.com/YunaiV/ruoyi-vue-pro</url> |
|||
|
|||
<dependencies> |
|||
<!-- Spring 核心 --> |
|||
<dependency> |
|||
<groupId>org.springframework</groupId> |
|||
<artifactId>spring-core</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework</groupId> |
|||
<artifactId>spring-expression</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework</groupId> |
|||
<artifactId>spring-aop</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.aspectj</groupId> |
|||
<artifactId>aspectjweaver</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<!-- 用于生成自定义的 Spring @ConfigurationProperties 配置类的说明文件 --> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-configuration-processor</artifactId> |
|||
<optional>true</optional> |
|||
</dependency> |
|||
|
|||
<!-- Web 相关 --> |
|||
<dependency> |
|||
<groupId>org.springframework</groupId> |
|||
<artifactId>spring-web</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>jakarta.servlet</groupId> |
|||
<artifactId>jakarta.servlet-api</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.springdoc</groupId> |
|||
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,主要是 PageParam 使用到 --> |
|||
</dependency> |
|||
|
|||
<!-- 监控相关 --> |
|||
<dependency> |
|||
<groupId>org.apache.skywalking</groupId> |
|||
<artifactId>apm-toolkit-trace</artifactId> |
|||
</dependency> |
|||
|
|||
<!-- 工具类相关 --> |
|||
<dependency> |
|||
<groupId>org.projectlombok</groupId> |
|||
<artifactId>lombok</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.mapstruct</groupId> |
|||
<artifactId>mapstruct</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.mapstruct</groupId> |
|||
<artifactId>mapstruct-jdk8</artifactId> <!-- use mapstruct-jdk8 for Java 8 or higher --> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.mapstruct</groupId> |
|||
<artifactId>mapstruct-processor</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.google.guava</groupId> |
|||
<artifactId>guava</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.fasterxml.jackson.core</groupId> |
|||
<artifactId>jackson-databind</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.fasterxml.jackson.core</groupId> |
|||
<artifactId>jackson-core</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>com.fasterxml.jackson.datatype</groupId> |
|||
<artifactId>jackson-datatype-jsr310</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>org.slf4j</groupId> |
|||
<artifactId>slf4j-api</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,只有工具类需要使用到 --> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>jakarta.validation</groupId> |
|||
<artifactId>jakarta.validation-api</artifactId> |
|||
<scope>provided</scope> <!-- 设置为 provided,主要是 PageParam 使用到 --> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>cn.hutool</groupId> |
|||
<artifactId>hutool-all</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.alibaba</groupId> |
|||
<artifactId>transmittable-thread-local</artifactId> |
|||
</dependency> |
|||
|
|||
<dependency> |
|||
<groupId>com.fhs-opensource</groupId> <!-- VO 数据翻译 --> |
|||
<artifactId>easy-trans-anno</artifactId> <!-- 默认引入的原因,方便 xxx-module-api 包使用 --> |
|||
</dependency> |
|||
|
|||
<!-- Test 测试相关 --> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-test</artifactId> |
|||
<scope>test</scope> |
|||
</dependency> |
|||
</dependencies> |
|||
|
|||
</project> |
@ -0,0 +1,31 @@ |
|||
package cn.iocoder.yudao.framework.common.biz.infra.logger; |
|||
|
|||
import cn.iocoder.yudao.framework.common.biz.infra.logger.dto.ApiAccessLogCreateReqDTO; |
|||
import jakarta.validation.Valid; |
|||
import org.springframework.scheduling.annotation.Async; |
|||
|
|||
/** |
|||
* API 访问日志的 API 接口 |
|||
* |
|||
* @author 芋道源码 |
|||
*/ |
|||
public interface ApiAccessLogCommonApi { |
|||
|
|||
/** |
|||
* 创建 API 访问日志 |
|||
* |
|||
* @param createDTO 创建信息 |
|||
*/ |
|||
void createApiAccessLog(@Valid ApiAccessLogCreateReqDTO createDTO); |
|||
|
|||
/** |
|||
* 【异步】创建 API 访问日志 |
|||
* |
|||
* @param createDTO 访问日志 DTO |
|||
*/ |
|||
@Async |
|||
default void createApiAccessLogAsync(ApiAccessLogCreateReqDTO createDTO) { |
|||
createApiAccessLog(createDTO); |
|||
} |
|||
|
|||
} |