From f96250f8681ff65c3e2f36a2b91d4fe56f3ee72b Mon Sep 17 00:00:00 2001 From: dlaren Date: Tue, 29 Jul 2025 20:01:02 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=20pom?= =?UTF-8?q?=E6=96=87=E4=BB=B6=EF=BC=8C=E4=BB=A5=E5=8F=8A=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E4=B8=AD=E5=A4=9A=E4=BD=99=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 392 +----------------- .../banner/core/BannerApplicationRunner.java | 68 ++- exam-server/pom.xml | 7 - .../src/main/resources/application-local.yaml | 15 +- pom.xml | 1 - 5 files changed, 37 insertions(+), 446 deletions(-) diff --git a/README.md b/README.md index 8e2443d5..48f43311 100644 --- a/README.md +++ b/README.md @@ -1,391 +1 @@ -

- Downloads - Downloads - Downloads -

- -**严肃声明:现在、未来都不会有商业版本,所有代码全部开源!!** - -**「我喜欢写代码,乐此不疲」** -**「我喜欢做开源,以此为乐」** - -我 🐶 在上海艰苦奋斗,早中晚在 top3 大厂认真搬砖,夜里为开源做贡献。 - -如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 - -## 🐶 新手必读 - -* 演示地址【Vue3 + element-plus】: -* 演示地址【Vue3 + vben(ant-design-vue)】: -* 演示地址【Vue2 + element-ui】: -* 启动文档: -* 视频教程: - -## 🐰 版本说明 - -| 版本 | 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/) 分支 | -| 【精简版】[exam-boot-mini](https://gitee.com/examcode/exam-boot-mini) | [`master`](https://gitee.com/examcode/exam-boot-mini/tree/master/) 分支 | [`master-jdk17`](https://gitee.com/examcode/exam-boot-mini/tree/master-jdk17/) 分支 | - -* 【完整版】:包括系统功能、基础设施、会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP 等功能 -* 【精简版】:只包括系统功能、基础设施功能,不包括会员中心、数据报表、工作流程、商城系统、微信公众号、CRM、ERP 等功能 - -可参考 [《迁移文档》](https://doc.iocoder.cn/migrate-module/) ,只需要 5-10 分钟,即可将【完整版】按需迁移到【精简版】 - -## 🐯 平台简介 - -**芋道**,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。 - -> 有任何问题,或者想要的功能,可以在 _Issues_ 中提给艿艿。 -> -> 😜 给项目点点 Star 吧,这对我们真的很重要! - -![架构图](/.image/common/ruoyi-vue-pro-architecture.png) - -* 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、阿里云、腾讯云、七牛云等云存储服务 -* 集成报表设计器、大屏设计器,通过拖拽即可生成酷炫的报表与大屏 - -## 🐳 项目关系 - -![架构演进](/.image/common/exam-roadmap.png) - -三个项目的功能对比,可见社区共同整理的 [国产开源项目对比](https://www.yuque.com/xiatian-bsgny/lm0ec1/wqf8mn) 表格。 - -### 后端项目 - -| 项目 | Star | 简介 | -|-----------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------| -| [ruoyi-vue-pro](https://gitee.com/zhijiantianya/ruoyi-vue-pro) | [![Gitee star](https://gitee.com/zhijiantianya/ruoyi-vue-pro/badge/star.svg?theme=white)](https://gitee.com/zhijiantianya/ruoyi-vue-pro) [![GitHub stars](https://img.shields.io/github/stars/YunaiV/ruoyi-vue-pro.svg?style=social&label=Stars)](https://github.com/YunaiV/ruoyi-vue-pro) | 基于 Spring Boot 多模块架构 | -| [exam-cloud](https://gitee.com/zhijiantianya/exam-cloud) | [![Gitee star](https://gitee.com/zhijiantianya/exam-cloud/badge/star.svg?theme=white)](https://gitee.com/zhijiantianya/exam-cloud) [![GitHub stars](https://img.shields.io/github/stars/YunaiV/exam-cloud.svg?style=social&label=Stars)](https://github.com/YunaiV/exam-cloud) | 基于 Spring Cloud 微服务架构 | -| [Spring-Boot-Labs](https://gitee.com/examcode/SpringBoot-Labs) | [![Gitee star](https://gitee.com/examcode/SpringBoot-Labs/badge/star.svg?theme=white)](https://gitee.com/zhijiantianya/exam-cloud) [![GitHub stars](https://img.shields.io/github/stars/examcode/SpringBoot-Labs.svg?style=social&label=Stars)](https://github.com/examcode/SpringBoot-Labs) | 系统学习 Spring Boot & Cloud 专栏 | - -### 前端项目 - -| 项目 | Star | 简介 | -|----------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------| -| [exam-ui-admin-vue3](https://gitee.com/examcode/exam-ui-admin-vue3) | [![Gitee star](https://gitee.com/examcode/exam-ui-admin-vue3/badge/star.svg?theme=white)](https://gitee.com/examcode/exam-ui-admin-vue3) [![GitHub stars](https://img.shields.io/github/stars/examcode/exam-ui-admin-vue3.svg?style=social&label=Stars)](https://github.com/examcode/exam-ui-admin-vue3) | 基于 Vue3 + element-plus 实现的管理后台 | -| [exam-ui-admin-vben](https://gitee.com/examcode/exam-ui-admin-vben) | [![Gitee star](https://gitee.com/examcode/exam-ui-admin-vben/badge/star.svg?theme=white)](https://gitee.com/examcode/exam-ui-admin-vben) [![GitHub stars](https://img.shields.io/github/stars/examcode/exam-ui-admin-vben.svg?style=social&label=Stars)](https://github.com/examcode/exam-ui-admin-vben) | 基于 Vue3 + vben(ant-design-vue) 实现的管理后台 | -| [exam-mall-uniapp](https://gitee.com/examcode/exam-mall-uniapp) | [![Gitee star](https://gitee.com/examcode/exam-mall-uniapp/badge/star.svg?theme=white)](https://gitee.com/examcode/exam-mall-uniapp) [![GitHub stars](https://img.shields.io/github/stars/examcode/exam-mall-uniapp.svg?style=social&label=Stars)](https://github.com/examcode/exam-mall-uniapp) | 基于 uni-app 实现的商城小程序 | -| [exam-ui-admin-vue2](https://gitee.com/examcode/exam-ui-admin-vue2) | [![Gitee star](https://gitee.com/examcode/exam-ui-admin-vue2/badge/star.svg?theme=white)](https://gitee.com/examcode/exam-ui-admin-vue2) [![GitHub stars](https://img.shields.io/github/stars/examcode/exam-ui-admin-vue2.svg?style=social&label=Stars)](https://github.com/examcode/exam-ui-admin-vue2) | 基于 Vue2 + element-ui 实现的管理后台 | -| [exam-ui-admin-uniapp](https://gitee.com/examcode/exam-ui-admin-uniapp) | [![Gitee star](https://gitee.com/examcode/exam-ui-admin-uniapp/badge/star.svg?theme=white)](https://gitee.com/examcode/exam-ui-admin-uniapp) [![GitHub stars](https://img.shields.io/github/stars/examcode/exam-ui-admin-uniapp.svg?style=social&label=Stars)](https://github.com/examcode/exam-ui-admin-uniapp) | 基于 Vue2 + element-ui 实现的管理后台 | -| [exam-ui-go-view](https://gitee.com/examcode/exam-ui-go-view) | [![Gitee star](https://gitee.com/examcode/exam-ui-go-view/badge/star.svg?theme=white)](https://gitee.com/examcode/exam-ui-go-view) [![GitHub stars](https://img.shields.io/github/stars/examcode/exam-ui-go-view.svg?style=social&label=Stars)](https://github.com/examcode/exam-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) - -![开源项目对比](/.image/common/project-vs.png) - -③ 代码整洁、架构整洁,遵循《阿里巴巴 Java 开发手册》规范,代码注释详细,113770 行 Java 代码,42462 行代码注释。 - -## 🤝 项目外包 - -我们也是接外包滴,如果你有项目想要外包,可以微信联系【**Aix9975**】。 - -团队包含专业的项目经理、架构师、前端工程师、后端工程师、测试工程师、运维工程师,可以提供全流程的外包服务。 - -项目可以是商城、SCRM 系统、OA 系统、物流系统、ERP 系统、CMS 系统、HIS 系统、支付系统、IM 聊天、微信公众号、微信小程序等等。 - -## 🐼 内置功能 - -系统内置多种多种业务功能,可以用于快速你的业务系统: - -![功能分层](/.image/common/ruoyi-vue-pro-biz.png) - -* 通用模块(必选):系统功能、基础设施 -* 通用模块(可选):工作流程、支付系统、数据报表、会员中心 -* 业务系统(按需):ERP 系统、CRM 系统、商城系统、微信公众号、AI 大模型 - -> 友情提示:本项目基于 RuoYi-Vue 修改,**重构优化**后端的代码,**美化**前端的界面。 -> -> * 额外新增的功能,我们使用 🚀 标记。 -> * 重新实现的功能,我们使用 ⭐️ 标记。 - -🙂 所有功能,都通过 **单元测试** 保证高质量。 - -### 系统功能 - -| | 功能 | 描述 | -|-----|-------|---------------------------------| -| | 用户管理 | 用户是系统操作者,该功能主要完成系统用户配置 | -| ⭐️ | 在线用户 | 当前系统中活跃用户状态监控,支持手动踢下线 | -| | 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 | -| | 菜单管理 | 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能 | -| | 部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限 | -| | 岗位管理 | 配置系统用户所属担任职务 | -| 🚀 | 租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能 | -| 🚀 | 租户套餐 | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限 | -| | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | -| 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 | -| 🚀 | 邮件管理 | 邮箱账号、邮件模版、邮件发送日志,支持所有邮件平台 | -| 🚀 | 站内信 | 系统内的消息通知,提供站内信模版、站内信消息 | -| 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 | -| ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 | -| 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 | -| | 通知公告 | 系统通知公告信息发布维护 | -| 🚀 | 敏感词 | 配置系统敏感词,支持标签分组 | -| 🚀 | 应用管理 | 管理 SSO 单点登录的应用,支持多种 OAuth2 授权方式 | -| 🚀 | 地区管理 | 展示省份、城市、区镇等城市信息,支持 IP 对应城市 | - -![功能图](/.image/common/system-feature.png) - -### 工作流程 - -![功能图](/.image/common/bpm-feature.png) - -基于 Flowable 构建,可支持信创(国产)数据库,满足中国特色流程操作: - -| BPMN 设计器 | 钉钉/飞书设计器 | -|------------------------------|--------------------------------| -| ![](/.image/工作流设计器-bpmn.jpg) | ![](/.image/工作流设计器-simple.jpg) | - -> 历经头部企业生产验证,工作流引擎须标配仿钉钉/飞书 + 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 实现单元测试,保证功能的正确性、代码的质量等 | - -![功能图](/.image/common/infra-feature.png) - -### 数据报表 - -| | 功能 | 描述 | -|-----|-------|--------------------| -| 🚀 | 报表设计器 | 支持数据报表、图形报表、打印设计等 | -| 🚀 | 大屏设计器 | 拖拽生成数据大屏,内置几十种图表组件 | - -### 微信公众号 - -| | 功能 | 描述 | -|-----|--------|-------------------------------| -| 🚀 | 账号管理 | 配置接入的微信公众号,可支持多个公众号 | -| 🚀 | 数据统计 | 统计公众号的用户增减、累计用户、消息概况、接口分析等数据 | -| 🚀 | 粉丝管理 | 查看已关注、取关的粉丝列表,可对粉丝进行同步、打标签等操作 | -| 🚀 | 消息管理 | 查看粉丝发送的消息列表,可主动回复粉丝消息 | -| 🚀 | 自动回复 | 自动回复粉丝发送的消息,支持关注回复、消息回复、关键字回复 | -| 🚀 | 标签管理 | 对公众号的标签进行创建、查询、修改、删除等操作 | -| 🚀 | 菜单管理 | 自定义公众号的菜单,也可以从公众号同步菜单 | -| 🚀 | 素材管理 | 管理公众号的图片、语音、视频等素材,支持在线播放语音、视频 | -| 🚀 | 图文草稿箱 | 新增常用的图文素材到草稿箱,可发布到公众号 | -| 🚀 | 图文发表记录 | 查看已发布成功的图文素材,支持删除操作 | - -### 商城系统 - -演示地址: - -![功能图](/.image/common/mall-feature.png) - -![功能图](/.image/common/mall-preview.png) - -### 会员中心 - -| | 功能 | 描述 | -|-----|------|----------------------------------| -| 🚀 | 会员管理 | 会员是 C 端的消费者,该功能用于会员的搜索与管理 | -| 🚀 | 会员标签 | 对会员的标签进行创建、查询、修改、删除等操作 | -| 🚀 | 会员等级 | 对会员的等级、成长值进行管理,可用于订单折扣等会员权益 | -| 🚀 | 会员分组 | 对会员进行分组,用于用户画像、内容推送等运营手段 | -| 🚀 | 积分签到 | 回馈给签到、消费等行为的积分,会员可订单抵现、积分兑换等途径消耗 | - -### ERP 系统 - -演示地址: - -![功能图](/.image/common/erp-feature.png) - -### CRM 系统 - -演示地址: - -![功能图](/.image/common/crm-feature.png) - -### AI 大模型 - -演示地址: - -![功能图](/.image/common/ai-feature.png) - -![功能图](/.image/common/ai-preview.gif) - -## 🐨 技术栈 - -### 模块 - -| 项目 | 说明 | -|-----------------------|--------------------| -| `exam-dependencies` | Maven 依赖版本管理 | -| `exam-framework` | Java 框架拓展 | -| `exam-server` | 管理后台 + 用户 APP 的服务端 | -| `exam-module-system` | 系统功能的 Module 模块 | -| `exam-module-member` | 会员中心的 Module 模块 | -| `exam-module-infra` | 基础设施的 Module 模块 | -| `exam-module-bpm` | 工作流程的 Module 模块 | -| `exam-module-pay` | 支付系统的 Module 模块 | -| `exam-module-mall` | 商城系统的 Module 模块 | -| `exam-module-erp` | ERP 系统的 Module 模块 | -| `exam-module-crm` | CRM 系统的 Module 模块 | -| `exam-module-ai` | AI 大模型的 Module 模块 | -| `exam-module-mp` | 微信公众号的 Module 模块 | -| `exam-module-report` | 大屏报表 Module 模块 | - -### 框架 - -| 框架 | 说明 | 版本 | 学习指南 | -|---------------------------------------------------------------------------------------------|------------------|----------------|----------------------------------------------------------------| -| [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 3.4.1 | [文档](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/?exam) | -| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.5.7 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?exam) | -| [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 4.3.1 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?exam) | -| [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/?exam) | -| [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架 | 6.1.10 | [文档](http://www.iocoder.cn/SpringMVC/MVC/?exam) | -| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 6.3.1 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?exam) | -| [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 8.0.1 | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?exam) | -| [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/?exam) | -| [Springdoc](https://springdoc.org/) | Swagger 文档 | 2.3.0 | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?exam) | -| [SkyWalking](https://skywalking.apache.org/) | 分布式应用追踪系统 | 9.0.0 | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?exam) | -| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 3.3.2 | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?exam) | -| [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/?exam) | -| [Lombok](https://projectlombok.org/) | 消除冗长的 Java 代码 | 1.18.34 | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?exam) | -| [JUnit](https://junit.org/junit5/) | Java 单元测试框架 | 5.10.1 | - | -| [Mockito](https://github.com/mockito/mockito) | Java Mock 框架 | 5.7.0 | - | - -## 🐷 演示图 - -### 系统功能 - -| 模块 | biu | biu | biu | -|----------|-----------------------------|---------------------------|--------------------------| -| 登录 & 首页 | ![登录](/.image/登录.jpg) | ![首页](/.image/首页.jpg) | ![个人中心](/.image/个人中心.jpg) | -| 用户 & 应用 | ![用户管理](/.image/用户管理.jpg) | ![令牌管理](/.image/令牌管理.jpg) | ![应用管理](/.image/应用管理.jpg) | -| 租户 & 套餐 | ![租户管理](/.image/租户管理.jpg) | ![租户套餐](/.image/租户套餐.png) | - | -| 部门 & 岗位 | ![部门管理](/.image/部门管理.jpg) | ![岗位管理](/.image/岗位管理.jpg) | - | -| 菜单 & 角色 | ![菜单管理](/.image/菜单管理.jpg) | ![角色管理](/.image/角色管理.jpg) | - | -| 审计日志 | ![操作日志](/.image/操作日志.jpg) | ![登录日志](/.image/登录日志.jpg) | - | -| 短信 | ![短信渠道](/.image/短信渠道.jpg) | ![短信模板](/.image/短信模板.jpg) | ![短信日志](/.image/短信日志.jpg) | -| 字典 & 敏感词 | ![字典类型](/.image/字典类型.jpg) | ![字典数据](/.image/字典数据.jpg) | ![敏感词](/.image/敏感词.jpg) | -| 错误码 & 通知 | ![错误码管理](/.image/错误码管理.jpg) | ![通知公告](/.image/通知公告.jpg) | - | - -### 工作流程 - -| 模块 | biu | biu | biu | -|---------|---------------------------------|---------------------------------|---------------------------------| -| 流程模型 | ![流程模型-列表](/.image/流程模型-列表.jpg) | ![流程模型-设计](/.image/流程模型-设计.jpg) | ![流程模型-定义](/.image/流程模型-定义.jpg) | -| 表单 & 分组 | ![流程表单](/.image/流程表单.jpg) | ![用户分组](/.image/用户分组.jpg) | - | -| 我的流程 | ![我的流程-列表](/.image/我的流程-列表.jpg) | ![我的流程-发起](/.image/我的流程-发起.jpg) | ![我的流程-详情](/.image/我的流程-详情.jpg) | -| 待办 & 已办 | ![任务列表-审批](/.image/任务列表-审批.jpg) | ![任务列表-待办](/.image/任务列表-待办.jpg) | ![任务列表-已办](/.image/任务列表-已办.jpg) | -| OA 请假 | ![OA请假-列表](/.image/OA请假-列表.jpg) | ![OA请假-发起](/.image/OA请假-发起.jpg) | ![OA请假-详情](/.image/OA请假-详情.jpg) | - -### 基础设施 - -| 模块 | biu | biu | biu | -|---------------|-------------------------------|-----------------------------|---------------------------| -| 代码生成 | ![代码生成](/.image/代码生成.jpg) | ![生成效果](/.image/生成效果.jpg) | - | -| 文档 | ![系统接口](/.image/系统接口.jpg) | ![数据库文档](/.image/数据库文档.jpg) | - | -| 文件 & 配置 | ![文件配置](/.image/文件配置.jpg) | ![文件管理](/.image/文件管理2.jpg) | ![配置管理](/.image/配置管理.jpg) | -| 定时任务 | ![定时任务](/.image/定时任务.jpg) | ![任务日志](/.image/任务日志.jpg) | - | -| API 日志 | ![访问日志](/.image/访问日志.jpg) | ![错误日志](/.image/错误日志.jpg) | - | -| MySQL & Redis | ![MySQL](/.image/MySQL.jpg) | ![Redis](/.image/Redis.jpg) | - | -| 监控平台 | ![Java监控](/.image/Java监控.jpg) | ![链路追踪](/.image/链路追踪.jpg) | ![日志中心](/.image/日志中心.jpg) | - -### 支付系统 - -| 模块 | biu | biu | biu | -|---------|---------------------------|---------------------------------|---------------------------------| -| 商家 & 应用 | ![商户信息](/.image/商户信息.jpg) | ![应用信息-列表](/.image/应用信息-列表.jpg) | ![应用信息-编辑](/.image/应用信息-编辑.jpg) | -| 支付 & 退款 | ![支付订单](/.image/支付订单.jpg) | ![退款订单](/.image/退款订单.jpg) | --- | -### 数据报表 - -| 模块 | biu | biu | biu | -|-------|---------------------------------|---------------------------------|---------------------------------------| -| 报表设计器 | ![数据报表](/.image/报表设计器-数据报表.jpg) | ![图形报表](/.image/报表设计器-图形报表.jpg) | ![报表设计器-打印设计](/.image/报表设计器-打印设计.jpg) | -| 大屏设计器 | ![大屏列表](/.image/大屏设计器-列表.jpg) | ![大屏预览](/.image/大屏设计器-预览.jpg) | ![大屏编辑](/.image/大屏设计器-编辑.jpg) | - -### 移动端(管理后台) - -| biu | biu | biu | -|----------------------------------|----------------------------------|----------------------------------| -| ![](/.image/admin-uniapp/01.png) | ![](/.image/admin-uniapp/02.png) | ![](/.image/admin-uniapp/03.png) | -| ![](/.image/admin-uniapp/04.png) | ![](/.image/admin-uniapp/05.png) | ![](/.image/admin-uniapp/06.png) | -| ![](/.image/admin-uniapp/07.png) | ![](/.image/admin-uniapp/08.png) | ![](/.image/admin-uniapp/09.png) | - -目前已经实现登录、我的、工作台、编辑资料、头像修改、密码修改、常见问题、关于我们等基础功能。 +待完善... \ No newline at end of file diff --git a/exam-framework/exam-spring-boot-starter-web/src/main/java/pc/exam/pp/framework/banner/core/BannerApplicationRunner.java b/exam-framework/exam-spring-boot-starter-web/src/main/java/pc/exam/pp/framework/banner/core/BannerApplicationRunner.java index 8809f75e..f0555d3b 100644 --- a/exam-framework/exam-spring-boot-starter-web/src/main/java/pc/exam/pp/framework/banner/core/BannerApplicationRunner.java +++ b/exam-framework/exam-spring-boot-starter-web/src/main/java/pc/exam/pp/framework/banner/core/BannerApplicationRunner.java @@ -23,42 +23,38 @@ public class BannerApplicationRunner implements ApplicationRunner { log.info("\n----------------------------------------------------------\n\t" + "项目启动成功!\n\t"); - // 数据报表 - if (isNotPresent("pc.exam.pp.module.report.framework.security.config.SecurityConfiguration")) { - System.out.println("[报表模块 exam-module-report - 已禁用]"); - } - // 工作流 - if (isNotPresent("pc.exam.pp.module.bpm.framework.flowable.config.BpmFlowableConfiguration")) { - System.out.println("[工作流模块 exam-module-bpm - 已禁用]"); - } - // 商城系统 - if (isNotPresent("pc.exam.pp.module.trade.framework.web.config.TradeWebConfiguration")) { - System.out.println("[商城系统 exam-module-mall - 已禁用]"); - } - // ERP 系统 - if (isNotPresent("pc.exam.pp.module.erp.framework.web.config.ErpWebConfiguration")) { - System.out.println("[ERP 系统 exam-module-erp - 已禁用]"); - } - // CRM 系统 - if (isNotPresent("pc.exam.pp.module.crm.framework.web.config.CrmWebConfiguration")) { - System.out.println("[CRM 系统 exam-module-crm - 已禁用]"); - } - // 微信公众号 - if (isNotPresent("pc.exam.pp.module.mp.framework.mp.config.MpConfiguration")) { - System.out.println("[微信公众号 exam-module-mp - 已禁用]"); - } - // 支付平台 - if (isNotPresent("pc.exam.pp.module.pay.framework.pay.config.PayConfiguration")) { - System.out.println("[支付系统 exam-module-pay - 已禁用]"); - } - // AI 大模型 - if (isNotPresent("pc.exam.pp.module.ai.framework.web.config.AiWebConfiguration")) { - System.out.println("[AI 大模型 exam-module-ai - 已禁用]"); - } - // IoT 物联网 - if (isNotPresent("pc.exam.pp.module.iot.framework.web.config.IotWebConfiguration")) { - System.out.println("[IoT 物联网 exam-module-iot - 已禁用]"); - } +// // 数据报表 +// if (isNotPresent("pc.exam.pp.module.report.framework.security.config.SecurityConfiguration")) { +// System.out.println("[报表模块 exam-module-report - 已禁用]"); +// } +// // 工作流 +// if (isNotPresent("pc.exam.pp.module.bpm.framework.flowable.config.BpmFlowableConfiguration")) { +// System.out.println("[工作流模块 exam-module-bpm - 已禁用]"); +// } +// // 商城系统 +// if (isNotPresent("pc.exam.pp.module.trade.framework.web.config.TradeWebConfiguration")) { +// System.out.println("[商城系统 exam-module-mall - 已禁用]"); +// } +// // ERP 系统 +// if (isNotPresent("pc.exam.pp.module.erp.framework.web.config.ErpWebConfiguration")) { +// System.out.println("[ERP 系统 exam-module-erp - 已禁用]"); +// } +// // CRM 系统 +// if (isNotPresent("pc.exam.pp.module.crm.framework.web.config.CrmWebConfiguration")) { +// System.out.println("[CRM 系统 exam-module-crm - 已禁用]"); +// } +// // 微信公众号 +// if (isNotPresent("pc.exam.pp.module.mp.framework.mp.config.MpConfiguration")) { +// System.out.println("[微信公众号 exam-module-mp - 已禁用]"); +// } +// // 支付平台 +// if (isNotPresent("pc.exam.pp.module.pay.framework.pay.config.PayConfiguration")) { +// System.out.println("[支付系统 exam-module-pay - 已禁用]"); +// } +// // AI 大模型 +// if (isNotPresent("pc.exam.pp.module.ai.framework.web.config.AiWebConfiguration")) { +// System.out.println("[AI 大模型 exam-module-ai - 已禁用]"); +// } }); } diff --git a/exam-server/pom.xml b/exam-server/pom.xml index df3d3343..47022d93 100644 --- a/exam-server/pom.xml +++ b/exam-server/pom.xml @@ -116,13 +116,6 @@ - - - - - - - diff --git a/exam-server/src/main/resources/application-local.yaml b/exam-server/src/main/resources/application-local.yaml index 1f74851a..ccd4f6a3 100644 --- a/exam-server/src/main/resources/application-local.yaml +++ b/exam-server/src/main/resources/application-local.yaml @@ -67,20 +67,13 @@ spring: url: jdbc:mysql://rm-bp1a44uap1mm20980mo.mysql.rds.aliyuncs.com:3306/exam-mysql?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true username: pc_exam password: Pcexam123 -# tdengine: # IoT 数据库(需要 IoT 物联网再开启噢!) -# url: jdbc:TAOS-RS://127.0.0.1:6041/ruoyi_vue_pro -# driver-class-name: com.taosdata.jdbc.rs.RestfulDriver -# username: root -# password: taosdata -# druid: -# validation-query: SELECT SERVER_STATUS() # TDengine 数据源的有效性检查 SQL # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 data: redis: host: 47.101.60.131 # 地址 port: 6379 # 端口 - database: 0 # 数据库索引 + database: 2 # 数据库索引 password: sadjklasnfasd # 密码,建议生产环境开启 --- #################### 定时任务相关配置 #################### @@ -116,12 +109,12 @@ spring: --- #################### 消息队列相关 #################### -# rocketmq 配置项,对应 RocketMQProperties 配置类 +# rocketmq 配置项,对应 RocketMQProperties 配置类 (不使用无需配置) rocketmq: name-server: 127.0.0.1:9876 # RocketMQ Namesrv spring: - # RabbitMQ 配置项,对应 RabbitProperties 配置类 + # RabbitMQ 配置项,对应 RabbitProperties 配置类 (手动连接) rabbitmq: host: 47.101.60.131 # RabbitMQ 服务的地址 port: 5672 # RabbitMQ 服务的端口 @@ -266,7 +259,7 @@ justauth: prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE:: timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟 ---- #################### iot相关配置 TODO 芋艿【IOT】:再瞅瞅 #################### +--- #################### iot相关配置 #################### pf4j: # pluginsDir: /tmp/ pluginsDir: ../plugins \ No newline at end of file diff --git a/pom.xml b/pom.xml index ac98fdb0..d6b1e693 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,6 @@ - ${project.artifactId}