From 3f74fc0778c21c645facd05b8d3f6017657fafb4 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Sun, 23 Jun 2024 11:33:41 +0800 Subject: [PATCH 001/108] =?UTF-8?q?JeecgBoot=203.7.0=5Fall=20=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=91=E5=B8=83(=E5=89=8D=E7=AB=AF=E5=92=8C?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E5=90=88=E5=B9=B6=E4=B8=80=E4=B8=AA=E4=BB=93?= =?UTF-8?q?=E5=BA=93)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README-EN.md | 4 ++-- README.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README-EN.md b/README-EN.md index 609990ed4..2152544b7 100644 --- a/README-EN.md +++ b/README-EN.md @@ -7,13 +7,13 @@ JEECG BOOT Low Code Development Platform =============== -当前最新版本: 3.7.0(发布日期:2024-06-17) +Current version: 3.7.0_all (Release date: 2024-06-23) [![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE) [![](https://img.shields.io/badge/Author-guojusoft-orange.svg)](http://www.jeecg.com) [![](https://img.shields.io/badge/Blog-blog-blue.svg)](https://jeecg.blog.csdn.net) -[![](https://img.shields.io/badge/version-3.7.0-brightgreen.svg)](https://github.com/zhangdaiscott/jeecg-boot) +[![](https://img.shields.io/badge/version-3.7.0_all-brightgreen.svg)](https://github.com/zhangdaiscott/jeecg-boot) [![GitHub stars](https://img.shields.io/github/stars/zhangdaiscott/jeecg-boot.svg?style=social&label=Stars)](https://github.com/zhangdaiscott/jeecg-boot) [![GitHub forks](https://img.shields.io/github/forks/zhangdaiscott/jeecg-boot.svg?style=social&label=Fork)](https://github.com/zhangdaiscott/jeecg-boot) diff --git a/README.md b/README.md index 3b091312e..17632e94c 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,13 @@ JeecgBoot 低代码开发平台 =============== -当前最新版本: 3.7.0(发布日期:2024-06-17) +当前最新版本: 3.7.0_all(发布日期:2024-06-23) [![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE) [![](https://img.shields.io/badge/Author-北京国炬软件-orange.svg)](http://jeecg.com/aboutusIndex) [![](https://img.shields.io/badge/Blog-官方博客-blue.svg)](https://jeecg.blog.csdn.net) -[![](https://img.shields.io/badge/version-3.7.0-brightgreen.svg)](https://github.com/zhangdaiscott/jeecg-boot) +[![](https://img.shields.io/badge/version-3.7.0_all-brightgreen.svg)](https://github.com/zhangdaiscott/jeecg-boot) [![GitHub stars](https://img.shields.io/github/stars/zhangdaiscott/jeecg-boot.svg?style=social&label=Stars)](https://github.com/zhangdaiscott/jeecg-boot) [![GitHub forks](https://img.shields.io/github/forks/zhangdaiscott/jeecg-boot.svg?style=social&label=Fork)](https://github.com/zhangdaiscott/jeecg-boot) From 67b1e237bdbecc530d550610c06df4cd32c42a4c Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Sun, 23 Jun 2024 13:59:59 +0800 Subject: [PATCH 002/108] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 17632e94c..7a0f3968f 100644 --- a/README.md +++ b/README.md @@ -66,15 +66,15 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, Docker启动项目 ----------------------------------- -- [Docker启动前端](http://help.jeecg.com/publish/docker.html) -- [Docker启动后台](https://help.jeecg.com/java/setup/docker/up.html) +- [Docker启动前端](https://help.jeecg.com/java/docker/vue3.html) +- [Docker启动后台](https://help.jeecg.com/java/docker/up.html) 微服务方式启动 ----------------------------------- - [单体快速切换微服务](https://help.jeecg.com/java/springcloud/switchcloud/monomer.html) -- [Docker启动微服务后台](https://help.jeecg.com/java/springcloud/docker.html) +- [Docker启动微服务后台](https://help.jeecg.com/java/docker/springcloud.html) 技术文档 @@ -82,14 +82,10 @@ Docker启动项目 - 产品官网: [http://www.jeecg.com](http://www.jeecg.com) - 开发文档: [https://help.jeecg.com](https://help.jeecg.com) -- 新手指南: [快速入门](http://www.jeecg.com/doc/quickstart) | [常见问题 ](http://www.jeecg.com/doc/qa) | [视频教程](https://space.bilibili.com/454617261/channel/series) | [1分钟低代码体验](https://my.oschina.net/jeecg/blog/3083313) -- AI助手配置: https://help.jeecg.com/java/chatgpt.html - +- 新手指南: [快速入门](http://www.jeecg.com/doc/quickstart) +- QQ交流群 : ⑨808791225、其他(满) - 在线演示 : [在线演示](http://boot3.jeecg.com) | [APP演示](http://jeecg.com/appIndex) > 演示系统的登录账号密码,请点击 [获取账号密码](http://jeecg.com/doc/demo) 获取 -> -- QQ交流群 : ⑨808791225、⑧825232878、⑦791696430(满)、⑥730954414(满)、683903138(满)、⑤860162132(满)、④774126647(满)、③816531124(满)、②769925425(满)、①284271917(满) - 为什么选择JeecgBoot? ----------------------------------- From c6f482b898fca2a8d4e2ab3bad2b822a60c462d3 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 24 Jun 2024 14:11:34 +0800 Subject: [PATCH 003/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 140 ++++++++++++++++++++++-------------------------------- 1 file changed, 57 insertions(+), 83 deletions(-) diff --git a/README.md b/README.md index 7a0f3968f..5ae118906 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ JeecgBoot 低代码开发平台 [![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE) [![](https://img.shields.io/badge/Author-北京国炬软件-orange.svg)](http://jeecg.com/aboutusIndex) -[![](https://img.shields.io/badge/Blog-官方博客-blue.svg)](https://jeecg.blog.csdn.net) [![](https://img.shields.io/badge/version-3.7.0_all-brightgreen.svg)](https://github.com/zhangdaiscott/jeecg-boot) [![GitHub stars](https://img.shields.io/github/stars/zhangdaiscott/jeecg-boot.svg?style=social&label=Stars)](https://github.com/zhangdaiscott/jeecg-boot) [![GitHub forks](https://img.shields.io/github/forks/zhangdaiscott/jeecg-boot.svg?style=social&label=Fork)](https://github.com/zhangdaiscott/jeecg-boot) @@ -19,7 +18,7 @@ JeecgBoot 低代码开发平台

Java Low Code Platform for Enterprise web applications

-JeecgBoot 是一款基于代码生成器的`低代码开发平台`!前后端分离架构 SpringBoot2.x和3.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot 引领新的低代码开发模式(OnlineCoding-> 代码生成器-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性! +JeecgBoot 是一款基于代码生成器的`低代码开发平台`!前后端分离架构 SpringBoot2.x和3.x,SpringCloud,Ant Design Vue3,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot 引领新的低代码开发模式(OnlineCoding-> 代码生成器-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性! JeecgBoot 提供了一系列`低代码模块`,实现在线开发`真正的零代码`:Online表单开发、Online报表、报表配置能力、在线图表设计、仪表盘设计、大屏设计、移动配置能力、表单设计器、在线设计流程、流程自动化配置、插件能力(可插拔)等等! @@ -52,44 +51,44 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, 技术支持 ----------------------------------- -关闭gitee的issue通道,使用中遇到问题或者BUG可以在 [Github上提Issues](https://github.com/jeecgboot/JeecgBoot/issues/new) - - -快速启动项目 ------------------------------------ - -- [前端项目快速启动](http://help.jeecg.com/setup/startup.html) -- [通过IDEA启动前后端项目](https://help.jeecg.com/java/setup/idea/startup.html) - - - -Docker启动项目 ------------------------------------ - -- [Docker启动前端](https://help.jeecg.com/java/docker/vue3.html) -- [Docker启动后台](https://help.jeecg.com/java/docker/up.html) - - -微服务方式启动 ------------------------------------ - -- [单体快速切换微服务](https://help.jeecg.com/java/springcloud/switchcloud/monomer.html) -- [Docker启动微服务后台](https://help.jeecg.com/java/docker/springcloud.html) +使用中遇到问题或者BUG可以在 [Github上提Issues](https://github.com/jeecgboot/JeecgBoot/issues/new) 技术文档 ----------------------------------- -- 产品官网: [http://www.jeecg.com](http://www.jeecg.com) +- 官方网站: [http://www.jeecg.com](http://www.jeecg.com) - 开发文档: [https://help.jeecg.com](https://help.jeecg.com) - 新手指南: [快速入门](http://www.jeecg.com/doc/quickstart) - QQ交流群 : ⑨808791225、其他(满) - 在线演示 : [在线演示](http://boot3.jeecg.com) | [APP演示](http://jeecg.com/appIndex) > 演示系统的登录账号密码,请点击 [获取账号密码](http://jeecg.com/doc/demo) 获取 + + +启动项目 +----------------------------------- + +##### 命令和IDE启动 + +- [前端项目快速启动](http://help.jeecg.com/setup/startup.html) +- [通过IDEA启动前后端项目](https://help.jeecg.com/java/setup/idea/startup.html) + +##### Docker启动 + +- [Docker启动前端](https://help.jeecg.com/java/docker/vue3.html) +- [Docker启动后台](https://help.jeecg.com/java/docker/up.html) + + +##### 微服务启动 + +- [单体快速切换微服务](https://help.jeecg.com/java/springcloud/switchcloud/monomer.html) +- [Docker启动微服务后台](https://help.jeecg.com/java/docker/springcloud.html) + + 为什么选择JeecgBoot? ----------------------------------- -* 1.采用最新主流前后分离框架(Springboot+Mybatis+antd),容易上手; 代码生成器依赖性低,灵活的扩展能力,可快速实现二次开发; +* 1.采用最新主流前后分离框架(Springboot+Mybatis+antd+vue3),容易上手; 代码生成器依赖性低,灵活的扩展能力,可快速实现二次开发; * 2.支持微服务SpringCloud Alibaba(Nacos、Gateway、Sentinel、Skywalking),提供切换机制支持单体和微服务自由切换 * 3.开发效率高,采用代码生成器,单表、树列表、一对多、一对一等数据模型,增删改查功能一键生成,菜单配置直接使用; * 4.代码生成器提供强大模板机制,支持自定义模板,目前提供四套风格模板(单表两套、树模型一套、一对多三套) @@ -107,7 +106,7 @@ Docker启动项目 * 16.页面校验自动生成(必须输入、数字校验、金额校验、时间空间等); * 17.支持SAAS服务模式,提供SaaS多租户架构方案。 * 18.分布式文件服务,集成minio、阿里OSS等优秀的第三方,提供便捷的文件上传与管理,同时也支持本地存储。 -* 19.主流数据库兼容,一套代码完全兼容Mysql、Postgresql、Oracle、Sqlserver、MariaDB、达梦等主流数据库。 +* 19.主流数据库兼容,一套代码完全兼容Mysql、Postgresql、Oracle、Sqlserver、MariaDB、达梦、人大金仓等主流数据库。 * 20.集成工作流flowable,并实现了只需在页面配置流程转向,可极大的简化bpm工作流的开发;用bpm的流程设计器画出了流程走向,一个工作流基本就完成了,只需写很少量的java代码; * 21.低代码能力:在线流程设计,采用开源flowable流程引擎,实现在线画流程,自定义表单,表单挂靠,业务流转 * 22.多数据源:及其简易的使用方式,在线配置数据源配置,便捷的从其他数据抓取数据; @@ -136,45 +135,34 @@ Docker启动项目 技术架构: ----------------------------------- -#### 开发环境 - -- 语言:Java 8+ (小于17) - -- IDE(JAVA): IDEA (必须安装lombok插件 ) - -- IDE(前端): Vscode、WebStorm、IDEA - -- 依赖管理:Maven - -- 缓存:Redis - -- 数据库脚本:MySQL5.7+ (其他数据库,[需要自己转](https://my.oschina.net/jeecg/blog/4905722)) - #### 后端 +- IDE建议: IDEA (必须安装lombok插件 ) +- 语言:Java 8+ (支持17) +- 依赖管理:Maven - 基础框架:Spring Boot 2.6.14 - - 微服务框架: Spring Cloud Alibaba 2021.0.1.0 - - 持久层框架:MybatisPlus 3.5.1 - - 报表工具: JimuReport 1.5.8 - - 安全框架:Apache Shiro 1.10.0,Jwt 3.11.0 - - 微服务技术栈:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking - - 数据库连接池:阿里巴巴Druid 1.1.22 - - 日志打印:logback - +- 缓存:Redis - 其他:autopoi, fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。 +- 默认数据库脚本:MySQL5.7+ +- [其他数据库,需要自己转](https://my.oschina.net/jeecg/blog/4905722) #### 前端 -- 技术栈:`Vue3.0 + TypeScript + Vite5 + ant-design-vue4 + pinia + echarts + unocss + vxe-table + qiankun + es6` 等最新技术栈 +- 前端IDE建议:WebStorm、Vscode +- 采用 Vue3.0+TypeScript+Vite+Ant-Design-Vue等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能 +- 最新技术栈:Vue3.0 + TypeScript + Vite5 + ant-design-vue4 + pinia + echarts + unocss + vxe-table + qiankun + es6 +- 依赖管理:node、npm、pnpm + + #### 支持库 @@ -185,44 +173,30 @@ Docker启动项目 | Sqlserver2017 | √ | | PostgreSQL | √ | | MariaDB | √ | -| 达梦、人大金仓 | √ | +| 达梦 | √ | +| 人大金仓 | √ | ## 微服务解决方案 -1、服务注册和发现 Nacos √ - -2、统一配置中心 Nacos √ - -3、路由网关 gateway(三种加载方式) √ - -4、分布式 http feign √ - -5、熔断降级限流 Sentinel √ - -6、分布式文件 Minio、阿里OSS √ - -7、统一权限控制 JWT + Shiro √ - -8、服务监控 SpringBootAdmin√ - -9、链路跟踪 Skywalking [参考文档](https://help.jeecg.com/java/springcloud/super/skywarking.html) - -10、消息中间件 RabbitMQ √ - -11、分布式任务 xxl-job √ - -12、分布式事务 Seata - -13、分布式日志 elk + kafka - -14、支持 docker-compose、k8s、jenkins - -15、CAS 单点登录 √ - -16、路由限流 √ +- 1、服务注册和发现 Nacos √ +- 2、统一配置中心 Nacos √ +- 3、路由网关 gateway(三种加载方式) √ +- 4、分布式 http feign √ +- 5、熔断降级限流 Sentinel √ +- 6、分布式文件 Minio、阿里OSS √ +- 7、统一权限控制 JWT + Shiro √ +- 8、服务监控 SpringBootAdmin√ +- 9、链路跟踪 Skywalking [参考文档](https://help.jeecg.com/java/springcloud/super/skywarking.html) +- 10、消息中间件 RabbitMQ √ +- 11、分布式任务 xxl-job √ +- 12、分布式事务 Seata +- 13、分布式日志 elk + kafka +- 14、支持 docker-compose、k8s、jenkins +- 15、CAS 单点登录 √ +- 16、路由限流 √ #### 微服务架构图 From 2eea01bd37cdf8496e36b4811d0c5440ce1b41fa Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 24 Jun 2024 14:34:15 +0800 Subject: [PATCH 004/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 114 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 66 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 5ae118906..0f43a06ed 100644 --- a/README.md +++ b/README.md @@ -86,53 +86,6 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, - [Docker启动微服务后台](https://help.jeecg.com/java/docker/springcloud.html) -为什么选择JeecgBoot? ------------------------------------ -* 1.采用最新主流前后分离框架(Springboot+Mybatis+antd+vue3),容易上手; 代码生成器依赖性低,灵活的扩展能力,可快速实现二次开发; -* 2.支持微服务SpringCloud Alibaba(Nacos、Gateway、Sentinel、Skywalking),提供切换机制支持单体和微服务自由切换 -* 3.开发效率高,采用代码生成器,单表、树列表、一对多、一对一等数据模型,增删改查功能一键生成,菜单配置直接使用; -* 4.代码生成器提供强大模板机制,支持自定义模板,目前提供四套风格模板(单表两套、树模型一套、一对多三套) -* 5.代码生成器非常智能,在线业务建模、在线配置、所见即所得支持23种类控件,一键生成前后端代码,大幅度提升开发效率,不再为重复工作发愁。 -* 6.低代码能力:Online在线表单(无需编码,通过在线配置表单,实现表单的增删改查,支持单表、树、一对多、一对一等模型,实现人人皆可编码) -* 7.低代码能力:Online在线报表(无需编码,通过在线配置方式,实现数据报表,可以快速抽取数据,减轻开发压力,实现人人皆可编码) -* 8.低代码能力:Online在线图表(无需编码,通过在线配置方式,实现曲线图,柱状图,数据报表等,支持自定义排版布局,实现人人皆可编码) -* 9.封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能,支持访问授权、按钮权限、数据权限等功能 -* 10.常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel导入导出等),基本满足80%项目需求 -* 11.简易Excel导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能 -* 12.集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成图形报表、pdf、excel、word等报表; -* 13.采用前后分离技术,页面UI风格精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件,编辑器等等 -* 14.查询过滤器:查询功能自动生成,后台动态拼SQL追加查询条件;支持多种匹配方式(全匹配/模糊查询/包含查询/不匹配查询); -* 15.数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段 -* 16.页面校验自动生成(必须输入、数字校验、金额校验、时间空间等); -* 17.支持SAAS服务模式,提供SaaS多租户架构方案。 -* 18.分布式文件服务,集成minio、阿里OSS等优秀的第三方,提供便捷的文件上传与管理,同时也支持本地存储。 -* 19.主流数据库兼容,一套代码完全兼容Mysql、Postgresql、Oracle、Sqlserver、MariaDB、达梦、人大金仓等主流数据库。 -* 20.集成工作流flowable,并实现了只需在页面配置流程转向,可极大的简化bpm工作流的开发;用bpm的流程设计器画出了流程走向,一个工作流基本就完成了,只需写很少量的java代码; -* 21.低代码能力:在线流程设计,采用开源flowable流程引擎,实现在线画流程,自定义表单,表单挂靠,业务流转 -* 22.多数据源:及其简易的使用方式,在线配置数据源配置,便捷的从其他数据抓取数据; -* 23.提供单点登录CAS集成方案,项目中已经提供完善的对接代码 -* 24.低代码能力:表单设计器,支持用户自定义表单布局,支持单表,一对多表单、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件 -* 25.专业接口对接机制,统一采用restful接口方式,集成swagger-ui在线接口文档,Jwt token安全验证,方便客户端对接 -* 26.接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制 -* 27.高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史 -* 28.提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、jvm、服务器信息、请求追踪、SQL监控) -* 29.消息中心(支持短信、邮件、微信推送等等) -* 30.集成Websocket消息通知机制 -* 31.移动自适应效果优秀,提供APP发布方案: -* 32.支持多语言,提供国际化方案; -* 33.数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化 -* 34.平台UI强大,实现了移动自适应 -* 35.平台首页风格,提供多种组合模式,支持自定义风格 -* 36.提供简单易用的打印插件,支持谷歌、火狐、IE11+ 等各种浏览器 -* 37.示例代码丰富,提供很多学习案例参考 -* 38.采用maven分模块开发方式 -* 39.支持菜单动态路由 -* 40.权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制) -* 41.提供新行编辑表格JVXETable,轻松满足各种复杂ERP布局,拥有更高的性能、更灵活的扩展、更强大的功能 - - - - 技术架构: ----------------------------------- @@ -178,6 +131,22 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, +#### 分支说明 + +> 主干master更稳定,如果你对最新技术栈无要求,建议采用主干 + +###### springboot3 + - 源码地址:https://github.com/jeecgboot/JeecgBoot/tree/springboot3 + - 架构说明:升级Springboot3 + Jdk17 + Undertow + springdoc + fastjson2 + - [参考文档](https://help.jeecg.com/java/upgrade/springboot3.html) + +###### springboot3_sas + - 源码地址:https://github.com/jeecgboot/JeecgBoot/tree/springboot3_sas + - 架构说明:在springboot3分支基础上,采用SpringAuthorizationServer替换Shiro + - [参考文档](https://help.jeecg.com/java/shengjiSpringSecurity.html) + + + ## 微服务解决方案 @@ -198,10 +167,59 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, - 15、CAS 单点登录 √ - 16、路由限流 √ - + + + #### 微服务架构图 ![微服务架构图](https://jeecgos.oss-cn-beijing.aliyuncs.com/files/jeecgboot_springcloud2022.png "在这里输入图片标题") + + +为什么选择JeecgBoot? +----------------------------------- +* 1.采用最新主流前后分离框架(Springboot+Mybatis+antd+vue3),容易上手; 代码生成器依赖性低,灵活的扩展能力,可快速实现二次开发; +* 2.支持微服务SpringCloud Alibaba(Nacos、Gateway、Sentinel、Skywalking),提供切换机制支持单体和微服务自由切换 +* 3.开发效率高,采用代码生成器,单表、树列表、一对多、一对一等数据模型,增删改查功能一键生成,菜单配置直接使用; +* 4.代码生成器提供强大模板机制,支持自定义模板,目前提供四套风格模板(单表两套、树模型一套、一对多三套) +* 5.代码生成器非常智能,在线业务建模、在线配置、所见即所得支持23种类控件,一键生成前后端代码,大幅度提升开发效率,不再为重复工作发愁。 +* 6.低代码能力:Online在线表单(无需编码,通过在线配置表单,实现表单的增删改查,支持单表、树、一对多、一对一等模型,实现人人皆可编码) +* 7.低代码能力:Online在线报表(无需编码,通过在线配置方式,实现数据报表,可以快速抽取数据,减轻开发压力,实现人人皆可编码) +* 8.低代码能力:Online在线图表(无需编码,通过在线配置方式,实现曲线图,柱状图,数据报表等,支持自定义排版布局,实现人人皆可编码) +* 9.封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能,支持访问授权、按钮权限、数据权限等功能 +* 10.常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel导入导出等),基本满足80%项目需求 +* 11.简易Excel导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能 +* 12.集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成图形报表、pdf、excel、word等报表; +* 13.采用前后分离技术,页面UI风格精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件,编辑器等等 +* 14.查询过滤器:查询功能自动生成,后台动态拼SQL追加查询条件;支持多种匹配方式(全匹配/模糊查询/包含查询/不匹配查询); +* 15.数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段 +* 16.页面校验自动生成(必须输入、数字校验、金额校验、时间空间等); +* 17.支持SAAS服务模式,提供SaaS多租户架构方案。 +* 18.分布式文件服务,集成minio、阿里OSS等优秀的第三方,提供便捷的文件上传与管理,同时也支持本地存储。 +* 19.主流数据库兼容,一套代码完全兼容Mysql、Postgresql、Oracle、Sqlserver、MariaDB、达梦、人大金仓等主流数据库。 +* 20.集成工作流flowable,并实现了只需在页面配置流程转向,可极大的简化bpm工作流的开发;用bpm的流程设计器画出了流程走向,一个工作流基本就完成了,只需写很少量的java代码; +* 21.低代码能力:在线流程设计,采用开源flowable流程引擎,实现在线画流程,自定义表单,表单挂靠,业务流转 +* 22.多数据源:及其简易的使用方式,在线配置数据源配置,便捷的从其他数据抓取数据; +* 23.提供单点登录CAS集成方案,项目中已经提供完善的对接代码 +* 24.低代码能力:表单设计器,支持用户自定义表单布局,支持单表,一对多表单、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件 +* 25.专业接口对接机制,统一采用restful接口方式,集成swagger-ui在线接口文档,Jwt token安全验证,方便客户端对接 +* 26.接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制 +* 27.高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史 +* 28.提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、jvm、服务器信息、请求追踪、SQL监控) +* 29.消息中心(支持短信、邮件、微信推送等等) +* 30.集成Websocket消息通知机制 +* 31.移动自适应效果优秀,提供APP发布方案: +* 32.支持多语言,提供国际化方案; +* 33.数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化 +* 34.平台UI强大,实现了移动自适应 +* 35.平台首页风格,提供多种组合模式,支持自定义风格 +* 36.提供简单易用的打印插件,支持谷歌、火狐、IE11+ 等各种浏览器 +* 37.示例代码丰富,提供很多学习案例参考 +* 38.采用maven分模块开发方式 +* 39.支持菜单动态路由 +* 40.权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制) +* 41.提供新行编辑表格JVXETable,轻松满足各种复杂ERP布局,拥有更高的性能、更灵活的扩展、更强大的功能 + + ### Jeecg Boot 产品功能蓝图 ![功能蓝图](https://jeecgos.oss-cn-beijing.aliyuncs.com/upload/test/Jeecg-Boot-lantu202005_1590912449914.jpg "在这里输入图片标题") From 2bed764621fa45e901e190649900743aa2d52cc3 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 24 Jun 2024 14:42:15 +0800 Subject: [PATCH 005/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0f43a06ed..3b52273dd 100644 --- a/README.md +++ b/README.md @@ -94,11 +94,11 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, - IDE建议: IDEA (必须安装lombok插件 ) - 语言:Java 8+ (支持17) - 依赖管理:Maven -- 基础框架:Spring Boot 2.6.14 +- 基础框架:Spring Boot 2.7.18 - 微服务框架: Spring Cloud Alibaba 2021.0.1.0 -- 持久层框架:MybatisPlus 3.5.1 -- 报表工具: JimuReport 1.5.8 -- 安全框架:Apache Shiro 1.10.0,Jwt 3.11.0 +- 持久层框架:MybatisPlus 3.5.3.2 +- 报表工具: JimuReport 1.7.6 +- 安全框架:Apache Shiro 1.12.0,Jwt 3.11.0 - 微服务技术栈:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking - 数据库连接池:阿里巴巴Druid 1.1.22 - 日志打印:logback From f2dfad1b15877fca7ae2be1815ecd1a555a36702 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 24 Jun 2024 14:52:17 +0800 Subject: [PATCH 006/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3b52273dd..7e62eb18e 100644 --- a/README.md +++ b/README.md @@ -135,12 +135,12 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, > 主干master更稳定,如果你对最新技术栈无要求,建议采用主干 -###### springboot3 +###### springboot3分支 - 源码地址:https://github.com/jeecgboot/JeecgBoot/tree/springboot3 - - 架构说明:升级Springboot3 + Jdk17 + Undertow + springdoc + fastjson2 + - 架构说明:升级Spring Boot3 & JDK 17 + Undertow + springdoc + fastjson2 - [参考文档](https://help.jeecg.com/java/upgrade/springboot3.html) -###### springboot3_sas +###### springboot3_sas分支 - 源码地址:https://github.com/jeecgboot/JeecgBoot/tree/springboot3_sas - 架构说明:在springboot3分支基础上,采用SpringAuthorizationServer替换Shiro - [参考文档](https://help.jeecg.com/java/shengjiSpringSecurity.html) From c53e2174481f286bb5be9712e81335296045ce16 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 24 Jun 2024 15:01:53 +0800 Subject: [PATCH 007/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README-EN.md | 170 +++------------------------------------------------ README.md | 9 +-- 2 files changed, 9 insertions(+), 170 deletions(-) diff --git a/README-EN.md b/README-EN.md index 2152544b7..8820138cc 100644 --- a/README-EN.md +++ b/README-EN.md @@ -12,7 +12,6 @@ Current version: 3.7.0_all (Release date: 2024-06-23) [![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE) [![](https://img.shields.io/badge/Author-guojusoft-orange.svg)](http://www.jeecg.com) -[![](https://img.shields.io/badge/Blog-blog-blue.svg)](https://jeecg.blog.csdn.net) [![](https://img.shields.io/badge/version-3.7.0_all-brightgreen.svg)](https://github.com/zhangdaiscott/jeecg-boot) [![GitHub stars](https://img.shields.io/github/stars/zhangdaiscott/jeecg-boot.svg?style=social&label=Stars)](https://github.com/zhangdaiscott/jeecg-boot) [![GitHub forks](https://img.shields.io/github/forks/zhangdaiscott/jeecg-boot.svg?style=social&label=Fork)](https://github.com/zhangdaiscott/jeecg-boot) @@ -39,9 +38,6 @@ Technical support Problems or bugs in use can be found in [Making on the Issues](https://github.com/jeecgboot/JeecgBoot/issues/new) -Official Support: http://jeecg.com/doc/help - - ##### Project description @@ -180,7 +176,7 @@ Technical Architecture: #### Development Environment -- Language: Java 8+ (less than 17) +- Language: Java 8+ (17) - IDE(JAVA) : IDEA (lombok plug-in must be installed) @@ -190,20 +186,20 @@ Technical Architecture: - Cache: Redis -- Database: MySQL5.7 + & Oracle 11 g & Sqlserver2017 [More Databases](https://my.oschina.net/jeecg/blog/4905722) +- Database: MySQL5.7 + [More Databases](https://my.oschina.net/jeecg/blog/4905722) #### backend -- Basic framework: Spring Boot 2.6.14 +- Basic framework: Spring Boot 2.7.18 - Microservice framework: Spring Cloud Alibaba 2021.0.1.0 -- Persistence layer framework: MybatisPlus 3.5.1 +- Persistence layer framework: MybatisPlus 3.5.3.2 -- Report tool: JimuReport 1.5.8 +- Report tool: JimuReport 1.7.6 -- Security framework: Apache Shiro 1.10.0, Jwt 3.11.0 +- Security framework: Apache Shiro 1.12.0, Jwt 3.11.0 - Microservice technology stack: Spring Cloud Alibaba, Nacos, Gateway, Sentinel, Skywalking @@ -227,8 +223,8 @@ Technical Architecture: | Sqlserver2017 | √ | | PostgreSQL | √ | | MariaDB | √ | -| 达梦、人大金仓 | √ | - +| 达梦 | √ | +| 人大金仓 | √ | ## Microservice solutions @@ -276,156 +272,6 @@ Technical Architecture: -### Function module -``` -├─系统管理 -│ ├─用户管理 -│ ├─角色管理 -│ ├─菜单管理 -│ ├─权限设置(支持按钮权限、数据权限) -│ ├─表单权限(控制字段禁用、隐藏) -│ ├─部门管理 -│ ├─我的部门(二级管理员) -│ └─字典管理 -│ └─分类字典 -│ └─系统公告 -│ └─职务管理 -│ └─通讯录 -│ └─多租户管理 -├─消息中心 -│ ├─消息管理 -│ ├─模板管理 -├─代码生成器(低代码) -│ ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音) -│ ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择) -│ ├─代码生成器模板(生成代码,自带excel导入导出) -│ ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成) -│ ├─高级查询器(弹窗自动组合查询条件) -│ ├─Excel导入导出工具集成(支持单表,一对多 导入导出) -│ ├─平台移动自适应支持 -├─系统监控 -│ ├─Gateway路由网关 -│ ├─性能扫描监控 -│ │ ├─监控 Redis -│ │ ├─Tomcat -│ │ ├─jvm -│ │ ├─服务器信息 -│ │ ├─请求追踪 -│ │ ├─磁盘监控 -│ ├─定时任务 -│ ├─系统日志 -│ ├─消息中心(支持短信、邮件、微信推送等等) -│ ├─数据日志(记录数据快照,可对比快照,查看数据变更情况) -│ ├─系统通知 -│ ├─SQL监控 -│ ├─swagger-ui(在线接口文档) -│─报表示例 -│ ├─曲线图 -│ └─饼状图 -│ └─柱状图 -│ └─折线图 -│ └─面积图 -│ └─雷达图 -│ └─仪表图 -│ └─进度条 -│ └─排名列表 -│ └─等等 -│─大屏模板 -│ ├─作战指挥中心大屏 -│ └─物流服务中心大屏 -│─常用示例 -│ ├─自定义组件 -│ ├─对象存储(对接阿里云) -│ ├─JVXETable示例(各种复杂ERP布局示例) -│ ├─单表模型例子 -│ └─一对多模型例子 -│ └─打印例子 -│ └─一对多TAB例子 -│ └─内嵌table例子 -│ └─常用选择组件 -│ └─异步树table -│ └─接口模拟测试 -│ └─表格合计示例 -│ └─异步树列表示例 -│ └─一对多JEditable -│ └─JEditable组件示例 -│ └─图片拖拽排序 -│ └─图片翻页 -│ └─图片预览 -│ └─PDF预览 -│ └─分屏功能 -│─封装通用组件 -│ ├─行编辑表格JEditableTable -│ └─省略显示组件 -│ └─时间控件 -│ └─高级查询 -│ └─用户选择组件 -│ └─报表组件封装 -│ └─字典组件 -│ └─下拉多选组件 -│ └─选人组件 -│ └─选部门组件 -│ └─通过部门选人组件 -│ └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单) -│ └─在线code编辑器 -│ └─上传文件组件 -│ └─验证码组件 -│ └─树列表组件 -│ └─表单禁用组件 -│ └─等等 -│─更多页面模板 -│ ├─各种高级表单 -│ ├─各种列表效果 -│ └─结果页面 -│ └─异常页面 -│ └─个人页面 -├─高级功能 -│ ├─系统编码规则 -│ ├─提供单点登录CAS集成方案 -│ ├─提供APP发布方案 -│ ├─集成Websocket消息通知机制 -├─Online在线开发(低代码) -│ ├─Online在线表单 - 功能已开放 -│ ├─Online代码生成器 - 功能已开放 -│ ├─Online在线报表 - 功能已开放 -│ ├─Online在线图表(未开源) -│ ├─Online图表模板配置(未开源) -│ ├─Online布局设计(未开源) -│ ├─多数据源管理 - 功能已开放 -├─积木报表设计器(低代码) -│ ├─打印设计器 -│ ├─数据报表设计 -│ ├─图形报表设计(支持echart) -│ ├─大屏设计器(未开源) -│─流程模块功能 (未开源) -│ ├─流程设计器 -│ ├─表单设计器 - ├─大屏设计器 - ├─门户设计/仪表盘设计器 -│ └─我的任务 -│ └─历史流程 -│ └─历史流程 -│ └─流程实例管理 -│ └─流程监听管理 -│ └─流程表达式 -│ └─我发起的流程 -│ └─我的抄送 -│ └─流程委派、抄送、跳转 -│ └─。。。 -│─OA办公组件 (未开源) -│ ├─更多功能 -│ └─。。。 -└─其他模块 - └─更多功能开发中。。 - -``` - - - - - - - ### Effect of system ##### ChatGPT AI Dialog diff --git a/README.md b/README.md index 7e62eb18e..6d9914243 100644 --- a/README.md +++ b/README.md @@ -509,11 +509,4 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, 如果觉得还不错,请作者喝杯咖啡吧 ☺ -![](https://static.oschina.net/uploads/img/201903/08155608_0EFX.png) - - -### 流程引擎推荐 - -大家在使用本开源项目时,如果想进一步集成流程引擎,推荐结合贺波老师的书 [《深入Activiti流程引擎:核心原理与高阶实战》](https://item.m.jd.com/product/13928958.html?gx=RnAomTM2bmCImZxDqYAkVCoIHuIYVqc) - - \ No newline at end of file +![](https://static.oschina.net/uploads/img/201903/08155608_0EFX.png) \ No newline at end of file From aeac0549f8712bcd5a538107e35d6f8ba215680f Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 24 Jun 2024 15:13:48 +0800 Subject: [PATCH 008/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-boot/LICENSE | 216 +++++++++++++++++++++++++++ jeecg-boot/README.md | 308 +++++++++++++++++++++++++++++++++++++++ jeecgboot-vue3/README.md | 7 +- 3 files changed, 527 insertions(+), 4 deletions(-) create mode 100644 jeecg-boot/LICENSE create mode 100644 jeecg-boot/README.md diff --git a/jeecg-boot/LICENSE b/jeecg-boot/LICENSE new file mode 100644 index 000000000..cc9116703 --- /dev/null +++ b/jeecg-boot/LICENSE @@ -0,0 +1,216 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2019 Jeecg Boot All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + In any case, you must not make any such use of this software as to develop software which may be considered competitive with this software. + + 开源协议补充 + JeecgBoot 是由 北京国炬信息技术有限公司 发行的软件。 总部位于北京,地址:中国·北京·朝阳区科荟前街1号院奥林佳泰大厦。邮箱:jeecgos@163.com + 本软件受适用的国家软件著作权法(包括国际条约)和双重保护许可。 + + 1.允许基于本平台软件开展业务系统开发。 + 2.JeecgBoot底层依赖的非开源功能:online lib依赖、仪表盘lib依赖等,统一采用LGPL开源协议(不二次改造、不拆分出jeecgboot之外使用,就不产生侵权) + 3.不得基于该平台软件的基础,修改包装成一个与JeecgBoot平台软件功能类似的产品进行发布、销售,或与JeecgBoot参与同类软件产品市场的竞争。 + 违反此条款属于侵权行为,须赔偿侵权经济损失,同时立即停止著作权侵权行为。 + + 总结:在遵循Apache开源协议和开源协议补充条款下,允许商用使用,不会造成侵权行为! + 解释权归:http://www.jeecg.com + \ No newline at end of file diff --git a/jeecg-boot/README.md b/jeecg-boot/README.md new file mode 100644 index 000000000..ecf2eaa26 --- /dev/null +++ b/jeecg-boot/README.md @@ -0,0 +1,308 @@ + +JeecgBoot 低代码开发平台 +=============== + +当前最新版本: 3.7.0_all(发布日期:2024-06-23) + + +[![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE) +[![](https://img.shields.io/badge/Author-北京国炬软件-orange.svg)](http://jeecg.com/aboutusIndex) +[![](https://img.shields.io/badge/version-3.7.0_all-brightgreen.svg)](https://github.com/zhangdaiscott/jeecg-boot) +[![GitHub stars](https://img.shields.io/github/stars/zhangdaiscott/jeecg-boot.svg?style=social&label=Stars)](https://github.com/zhangdaiscott/jeecg-boot) +[![GitHub forks](https://img.shields.io/github/forks/zhangdaiscott/jeecg-boot.svg?style=social&label=Fork)](https://github.com/zhangdaiscott/jeecg-boot) + + + +项目介绍 +----------------------------------- + +

Java Low Code Platform for Enterprise web applications

+ +JeecgBoot 是一款基于代码生成器的`低代码开发平台`!前后端分离架构 SpringBoot2.x和3.x,SpringCloud,Ant Design Vue3,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot 引领新的低代码开发模式(OnlineCoding-> 代码生成器-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性! + + +#### 项目说明 + +| 项目名 | 说明 | +|--------------------|------------------------| +| `jeecg-boot` | 后端源码JAVA(SpringBoot微服务架构) | +| `jeecgboot-vue3` | 前端源码VUE3(vue3+vite5+ts最新技术栈) | + + + +技术文档 +----------------------------------- + +- 官方网站: [http://www.jeecg.com](http://www.jeecg.com) +- 新手指南: [快速入门](http://www.jeecg.com/doc/quickstart) +- QQ交流群 : ⑨808791225、其他(满) +- 在线演示 : [在线演示](http://boot3.jeecg.com) | [APP演示](http://jeecg.com/appIndex) +> 演示系统的登录账号密码,请点击 [获取账号密码](http://jeecg.com/doc/demo) 获取 + + + +启动项目 +----------------------------------- + +##### 命令和IDE启动 + +- [前端项目快速启动](http://help.jeecg.com/setup/startup.html) +- [通过IDEA启动前后端项目](https://help.jeecg.com/java/setup/idea/startup.html) + +##### Docker启动 + +- [Docker启动前端](https://help.jeecg.com/java/docker/vue3.html) +- [Docker启动后台](https://help.jeecg.com/java/docker/up.html) + + +##### 微服务启动 + +- [单体快速切换微服务](https://help.jeecg.com/java/springcloud/switchcloud/monomer.html) +- [Docker启动微服务后台](https://help.jeecg.com/java/docker/springcloud.html) + + +技术架构: +----------------------------------- + +#### 后端 + +- IDE建议: IDEA (必须安装lombok插件 ) +- 语言:Java 8+ (支持17) +- 依赖管理:Maven +- 基础框架:Spring Boot 2.7.18 +- 微服务框架: Spring Cloud Alibaba 2021.0.1.0 +- 持久层框架:MybatisPlus 3.5.3.2 +- 报表工具: JimuReport 1.7.6 +- 安全框架:Apache Shiro 1.12.0,Jwt 3.11.0 +- 微服务技术栈:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking +- 数据库连接池:阿里巴巴Druid 1.1.22 +- 日志打印:logback +- 缓存:Redis +- 其他:autopoi, fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。 +- 默认数据库脚本:MySQL5.7+ +- [其他数据库,需要自己转](https://my.oschina.net/jeecg/blog/4905722) + + +#### 前端 + +- 前端IDE建议:WebStorm、Vscode +- 采用 Vue3.0+TypeScript+Vite+Ant-Design-Vue等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能 +- 最新技术栈:Vue3.0 + TypeScript + Vite5 + ant-design-vue4 + pinia + echarts + unocss + vxe-table + qiankun + es6 +- 依赖管理:node、npm、pnpm + + + +#### 支持库 + +| 数据库 | 支持 | +| --- | --- | +| MySQL | √ | +| Oracle11g | √ | +| Sqlserver2017 | √ | +| PostgreSQL | √ | +| MariaDB | √ | +| 达梦 | √ | +| 人大金仓 | √ | + + + + +## 微服务解决方案 + + +- 1、服务注册和发现 Nacos √ +- 2、统一配置中心 Nacos √ +- 3、路由网关 gateway(三种加载方式) √ +- 4、分布式 http feign √ +- 5、熔断降级限流 Sentinel √ +- 6、分布式文件 Minio、阿里OSS √ +- 7、统一权限控制 JWT + Shiro √ +- 8、服务监控 SpringBootAdmin√ +- 9、链路跟踪 Skywalking [参考文档](https://help.jeecg.com/java/springcloud/super/skywarking.html) +- 10、消息中间件 RabbitMQ √ +- 11、分布式任务 xxl-job √ +- 12、分布式事务 Seata +- 13、分布式日志 elk + kafka +- 14、支持 docker-compose、k8s、jenkins +- 15、CAS 单点登录 √ +- 16、路由限流 √ + + + +后台目录结构 +----------------------------------- +``` +项目结构 +├─jeecg-boot-parent(父POM: 项目依赖、modules组织) +│ ├─jeecg-boot-base-core(共通模块: 工具类、config、权限、查询过滤器、注解等) +│ ├─jeecg-module-demo 示例代码 +│ ├─jeecg-module-system System系统管理目录 +│ │ ├─jeecg-system-biz System系统管理权限等功能 +│ │ ├─jeecg-system-start System单体启动项目(8080) +│ │ ├─jeecg-system-api System系统管理模块对外api +│ │ │ ├─jeecg-system-cloud-api System模块对外提供的微服务接口 +│ │ │ ├─jeecg-system-local-api System模块对外提供的单体接口 +│ ├─jeecg-server-cloud --微服务模块 + ├─jeecg-cloud-gateway --微服务网关模块(9999) + ├─jeecg-cloud-nacos --Nacos服务模块(8848) + ├─jeecg-system-cloud-start --System微服务启动项目(7001) + ├─jeecg-demo-cloud-start --Demo微服务启动项目(7002) + ├─jeecg-visual + ├─jeecg-cloud-monitor --微服务监控模块 (9111) + ├─jeecg-cloud-xxljob --微服务xxljob定时任务服务端 (9080) + ├─jeecg-cloud-sentinel --sentinel服务端 (9000) + ├─jeecg-cloud-test -- 微服务测试示例(各种例子) + ├─jeecg-cloud-test-more -- 微服务测试示例(feign、熔断降级、xxljob、分布式锁) + ├─jeecg-cloud-test-rabbitmq -- 微服务测试示例(rabbitmq) + ├─jeecg-cloud-test-seata -- 微服务测试示例(seata分布式事务) + ├─jeecg-cloud-test-shardingsphere -- 微服务测试示例(分库分表) +``` + + + + +#### 微服务架构图 +![微服务架构图](https://jeecgos.oss-cn-beijing.aliyuncs.com/files/jeecgboot_springcloud2022.png "在这里输入图片标题") + + + +### 功能模块 +``` +├─Online在线开发(低代码) +│ ├─Online在线表单 +│ ├─Online代码生成器 +│ ├─Online在线报表 +│ ├─仪表盘设计器 +│ ├─AI助手 +│ ├─系统编码规则 +│ ├─系统校验规则 +├─积木报表设计器 +│ ├─打印设计器 +│ ├─数据报表设计 +│ ├─图形报表设计(支持echart) +├─系统管理 +│ ├─用户管理 +│ ├─角色管理 +│ ├─菜单管理 +│ ├─权限设置(支持按钮权限、数据权限) +│ ├─表单权限(控制字段禁用、隐藏) +│ ├─部门管理 +│ ├─我的部门(二级管理员) +│ └─字典管理 +│ └─分类字典 +│ └─系统公告 +│ └─职务管理 +│ └─通讯录 +│ ├─多数据源管理 +│ └─多租户管理(租户管理、租户角色、我的租户) +├─消息中心 +│ ├─消息管理 +│ ├─模板管理 +├─代码生成器(低代码) +│ ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音) +│ ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择) +│ ├─代码生成器模板(生成代码,自带excel导入导出) +│ ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成) +│ ├─高级查询器(弹窗自动组合查询条件) +│ ├─Excel导入导出工具集成(支持单表,一对多 导入导出) +│ ├─平台移动自适应支持 +├─系统监控 +│ ├─Gateway路由网关 +│ ├─性能扫描监控 +│ │ ├─监控 Redis +│ │ ├─Tomcat +│ │ ├─jvm +│ │ ├─服务器信息 +│ │ ├─请求追踪 +│ │ ├─磁盘监控 +│ ├─定时任务 +│ ├─系统日志 +│ ├─消息中心(支持短信、邮件、微信推送等等) +│ ├─数据日志(记录数据快照,可对比快照,查看数据变更情况) +│ ├─系统通知 +│ ├─SQL监控 +│ ├─swagger-ui(在线接口文档) +│─报表示例 +│ ├─曲线图 +│ └─饼状图 +│ └─柱状图 +│ └─折线图 +│ └─面积图 +│ └─雷达图 +│ └─仪表图 +│ └─进度条 +│ └─排名列表 +│ └─等等 +│─大屏模板 +│ ├─作战指挥中心大屏 +│ └─物流服务中心大屏 +│─常用示例 +│ ├─自定义组件 +│ ├─对象存储(对接阿里云) +│ ├─JVXETable示例(各种复杂ERP布局示例) +│ ├─单表模型例子 +│ └─一对多模型例子 +│ └─打印例子 +│ └─一对多TAB例子 +│ └─内嵌table例子 +│ └─常用选择组件 +│ └─异步树table +│ └─接口模拟测试 +│ └─表格合计示例 +│ └─异步树列表示例 +│ └─一对多JEditable +│ └─JEditable组件示例 +│ └─图片拖拽排序 +│ └─图片翻页 +│ └─图片预览 +│ └─PDF预览 +│ └─分屏功能 +│─封装通用组件 +│ ├─行编辑表格JEditableTable +│ └─省略显示组件 +│ └─时间控件 +│ └─高级查询 +│ └─用户选择组件 +│ └─报表组件封装 +│ └─字典组件 +│ └─下拉多选组件 +│ └─选人组件 +│ └─选部门组件 +│ └─通过部门选人组件 +│ └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单) +│ └─在线code编辑器 +│ └─上传文件组件 +│ └─验证码组件 +│ └─树列表组件 +│ └─表单禁用组件 +│ └─等等 +│─更多页面模板 +│ ├─各种高级表单 +│ ├─各种列表效果 +│ └─结果页面 +│ └─异常页面 +│ └─个人页面 +├─高级功能 +│ ├─提供单点登录CAS集成方案 +│ ├─提供APP发布方案 +│ ├─集成Websocket消息通知机制 +│─更多商业功能 +│ ├─流程设计器 +│ ├─表单设计器 +│ ├─大屏设计器 +│ └─我的任务 +│ └─历史流程 +│ └─历史流程 +│ └─流程实例管理 +│ └─流程监听管理 +│ └─流程表达式 +│ └─我发起的流程 +│ └─我的抄送 +│ └─流程委派、抄送、跳转 +│ └─OA办公组件 +│ └─。。。 + +``` + + + diff --git a/jeecgboot-vue3/README.md b/jeecgboot-vue3/README.md index bd134ce00..f2f039954 100644 --- a/jeecgboot-vue3/README.md +++ b/jeecgboot-vue3/README.md @@ -1,10 +1,9 @@ JeecgBoot 企业级低代码开发平台 =============== -当前最新版本: 3.7.0(发布时间:2024-06-17) +当前最新版本: 3.7.0_all(发布时间:2024-06-23) [![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE) [![](https://img.shields.io/badge/Author-北京国炬软件-orange.svg)](http://jeecg.com/aboutusIndex) -[![](https://img.shields.io/badge/Blog-官方博客-blue.svg)](https://jeecg.blog.csdn.net) [![](https://img.shields.io/badge/version-3.7.0-brightgreen.svg)](https://github.com/zhangdaiscott/jeecg-boot) [![GitHub stars](https://img.shields.io/github/stars/zhangdaiscott/jeecg-boot.svg?style=social&label=Stars)](https://github.com/zhangdaiscott/jeecg-boot) [![GitHub forks](https://img.shields.io/github/forks/zhangdaiscott/jeecg-boot.svg?style=social&label=Fork)](https://github.com/zhangdaiscott/jeecg-boot) @@ -26,8 +25,8 @@ JeecgBoot-Vue3采用 Vue3.0、Vite、 Ant-Design-Vue4、TypeScript 等新技术 ## 技术文档 - 官方文档:[https://help.jeecg.com](https://help.jeecg.com) -- 快速入门:[快速入门](http://jeecg.com/doc/quickstart) | [常见问题](http://help.jeecg.com/qa.html) | [视频教程](https://www.bilibili.com/video/BV1V34y187Y9 "入门视频") | [ 代码生成](http://help.jeecg.com/vue3/codegen/online.html) -- QQ交流群:⑨808791225、⑧825232878(满)、⑦791696430(满)、683903138(满)、其他满 +- 快速入门:[快速入门](http://jeecg.com/doc/quickstart) | [常见问题](http://help.jeecg.com/qa.html) +- QQ交流群:⑨808791225、其他满 - 在线演示 : [系统演示](http://boot3.jeecg.com) | [APP演示](http://jeecg.com/appIndex) > 演示系统的登录账号密码,请点击 [获取账号密码](http://jeecg.com/doc/demo) 获取 From 2ec292e406097e3dfaca474c95f9e250a8161f39 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 24 Jun 2024 15:16:18 +0800 Subject: [PATCH 009/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/README.md b/README.md index 6d9914243..cb4ed884f 100644 --- a/README.md +++ b/README.md @@ -366,38 +366,6 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, -后台目录结构 ------------------------------------ -``` -项目结构 -├─jeecg-boot-parent(父POM: 项目依赖、modules组织) -│ ├─jeecg-boot-base-core(共通模块: 工具类、config、权限、查询过滤器、注解等) -│ ├─jeecg-module-demo 示例代码 -│ ├─jeecg-module-system System系统管理目录 -│ │ ├─jeecg-system-biz System系统管理权限等功能 -│ │ ├─jeecg-system-start System单体启动项目(8080) -│ │ ├─jeecg-system-api System系统管理模块对外api -│ │ │ ├─jeecg-system-cloud-api System模块对外提供的微服务接口 -│ │ │ ├─jeecg-system-local-api System模块对外提供的单体接口 -│ ├─jeecg-server-cloud --微服务模块 - ├─jeecg-cloud-gateway --微服务网关模块(9999) - ├─jeecg-cloud-nacos --Nacos服务模块(8848) - ├─jeecg-system-cloud-start --System微服务启动项目(7001) - ├─jeecg-demo-cloud-start --Demo微服务启动项目(7002) - ├─jeecg-visual - ├─jeecg-cloud-monitor --微服务监控模块 (9111) - ├─jeecg-cloud-xxljob --微服务xxljob定时任务服务端 (9080) - ├─jeecg-cloud-sentinel --sentinel服务端 (9000) - ├─jeecg-cloud-test -- 微服务测试示例(各种例子) - ├─jeecg-cloud-test-more -- 微服务测试示例(feign、熔断降级、xxljob、分布式锁) - ├─jeecg-cloud-test-rabbitmq -- 微服务测试示例(rabbitmq) - ├─jeecg-cloud-test-seata -- 微服务测试示例(seata分布式事务) - ├─jeecg-cloud-test-shardingsphere -- 微服务测试示例(分库分表) -``` - - - - ### 系统效果 ##### PC端 From f69dd81b8b468a52aad2cbc5d22ed6153872c2b1 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 24 Jun 2024 15:18:43 +0800 Subject: [PATCH 010/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-boot/README.md | 138 ------------------------------------------- 1 file changed, 138 deletions(-) diff --git a/jeecg-boot/README.md b/jeecg-boot/README.md index ecf2eaa26..33ae62c5b 100644 --- a/jeecg-boot/README.md +++ b/jeecg-boot/README.md @@ -166,143 +166,5 @@ JeecgBoot 是一款基于代码生成器的`低代码开发平台`!前后端 -### 功能模块 -``` -├─Online在线开发(低代码) -│ ├─Online在线表单 -│ ├─Online代码生成器 -│ ├─Online在线报表 -│ ├─仪表盘设计器 -│ ├─AI助手 -│ ├─系统编码规则 -│ ├─系统校验规则 -├─积木报表设计器 -│ ├─打印设计器 -│ ├─数据报表设计 -│ ├─图形报表设计(支持echart) -├─系统管理 -│ ├─用户管理 -│ ├─角色管理 -│ ├─菜单管理 -│ ├─权限设置(支持按钮权限、数据权限) -│ ├─表单权限(控制字段禁用、隐藏) -│ ├─部门管理 -│ ├─我的部门(二级管理员) -│ └─字典管理 -│ └─分类字典 -│ └─系统公告 -│ └─职务管理 -│ └─通讯录 -│ ├─多数据源管理 -│ └─多租户管理(租户管理、租户角色、我的租户) -├─消息中心 -│ ├─消息管理 -│ ├─模板管理 -├─代码生成器(低代码) -│ ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音) -│ ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择) -│ ├─代码生成器模板(生成代码,自带excel导入导出) -│ ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成) -│ ├─高级查询器(弹窗自动组合查询条件) -│ ├─Excel导入导出工具集成(支持单表,一对多 导入导出) -│ ├─平台移动自适应支持 -├─系统监控 -│ ├─Gateway路由网关 -│ ├─性能扫描监控 -│ │ ├─监控 Redis -│ │ ├─Tomcat -│ │ ├─jvm -│ │ ├─服务器信息 -│ │ ├─请求追踪 -│ │ ├─磁盘监控 -│ ├─定时任务 -│ ├─系统日志 -│ ├─消息中心(支持短信、邮件、微信推送等等) -│ ├─数据日志(记录数据快照,可对比快照,查看数据变更情况) -│ ├─系统通知 -│ ├─SQL监控 -│ ├─swagger-ui(在线接口文档) -│─报表示例 -│ ├─曲线图 -│ └─饼状图 -│ └─柱状图 -│ └─折线图 -│ └─面积图 -│ └─雷达图 -│ └─仪表图 -│ └─进度条 -│ └─排名列表 -│ └─等等 -│─大屏模板 -│ ├─作战指挥中心大屏 -│ └─物流服务中心大屏 -│─常用示例 -│ ├─自定义组件 -│ ├─对象存储(对接阿里云) -│ ├─JVXETable示例(各种复杂ERP布局示例) -│ ├─单表模型例子 -│ └─一对多模型例子 -│ └─打印例子 -│ └─一对多TAB例子 -│ └─内嵌table例子 -│ └─常用选择组件 -│ └─异步树table -│ └─接口模拟测试 -│ └─表格合计示例 -│ └─异步树列表示例 -│ └─一对多JEditable -│ └─JEditable组件示例 -│ └─图片拖拽排序 -│ └─图片翻页 -│ └─图片预览 -│ └─PDF预览 -│ └─分屏功能 -│─封装通用组件 -│ ├─行编辑表格JEditableTable -│ └─省略显示组件 -│ └─时间控件 -│ └─高级查询 -│ └─用户选择组件 -│ └─报表组件封装 -│ └─字典组件 -│ └─下拉多选组件 -│ └─选人组件 -│ └─选部门组件 -│ └─通过部门选人组件 -│ └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单) -│ └─在线code编辑器 -│ └─上传文件组件 -│ └─验证码组件 -│ └─树列表组件 -│ └─表单禁用组件 -│ └─等等 -│─更多页面模板 -│ ├─各种高级表单 -│ ├─各种列表效果 -│ └─结果页面 -│ └─异常页面 -│ └─个人页面 -├─高级功能 -│ ├─提供单点登录CAS集成方案 -│ ├─提供APP发布方案 -│ ├─集成Websocket消息通知机制 -│─更多商业功能 -│ ├─流程设计器 -│ ├─表单设计器 -│ ├─大屏设计器 -│ └─我的任务 -│ └─历史流程 -│ └─历史流程 -│ └─流程实例管理 -│ └─流程监听管理 -│ └─流程表达式 -│ └─我发起的流程 -│ └─我的抄送 -│ └─流程委派、抄送、跳转 -│ └─OA办公组件 -│ └─。。。 - -``` - From e016390f000b9974bb6f0040dd17461ff0f18a96 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 24 Jun 2024 15:35:30 +0800 Subject: [PATCH 011/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/ISSUE_TEMPLATE.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index a6297f944..7aadd5178 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,13 +1,16 @@ ##### 版本号: + ##### 问题描述: + + ##### 错误截图: #### 友情提示: - - 未按格式要求发帖、描述过于简抽象的,会被直接删掉; - - 请确保问题描述清楚,方便我们理解并一次性调查解决问题; - - 如果使用的不是master,请说明你使用的那个分支 \ No newline at end of file + - 未按格式要求发帖、描述过于简单,会被直接删掉; + - 描述问题 请图文并茂,方便我们理解并快速定位问题; + - 如果使用的不是master,请说明使用的分支; \ No newline at end of file From e7dfe5cdc3a9ee39f5a8ed63378ad910a3b6c488 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 24 Jun 2024 15:43:17 +0800 Subject: [PATCH 012/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0issue=E8=A6=81?= =?UTF-8?q?=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/ISSUE_TEMPLATE.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 7aadd5178..6d6a90c2e 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -11,6 +11,6 @@ #### 友情提示: - - 未按格式要求发帖、描述过于简单,会被直接删掉; - - 描述问题 请图文并茂,方便我们理解并快速定位问题; - - 如果使用的不是master,请说明使用的分支; \ No newline at end of file + - 未按格式要求发帖、描述过于简单的,会被直接删掉; + - 描述问题请图文并茂,方便我们理解并快速定位问题; + - 如果使用的不是master,请说明你使用的分支; \ No newline at end of file From 5c4154941a2298dfc5e7d8d75ca0c93f41965cb7 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Tue, 25 Jun 2024 13:51:21 +0800 Subject: [PATCH 013/108] =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5=E4=B8=8D=E9=80=9A=E9=A1=BA=20#6643?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/common/exception/JeecgBootExceptionHandler.java | 2 +- .../org/jeecg/modules/system/controller/CommonController.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java index b71d7b5a1..ed28ecad6 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java @@ -104,7 +104,7 @@ public class JeecgBootExceptionHandler { @ExceptionHandler({UnauthorizedException.class, AuthorizationException.class}) public Result handleAuthorizationException(AuthorizationException e){ log.error(e.getMessage(), e); - return Result.noauth("没有权限,请联系管理员授权,后刷新缓存!"); + return Result.noauth("没有权限,请联系管理员授权后刷新缓存!"); } @ExceptionHandler(Exception.class) diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java index f333308d4..a90f8b6a0 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/CommonController.java @@ -51,7 +51,7 @@ public class CommonController { */ @GetMapping("/403") public Result noauth() { - return Result.error("没有权限,请联系管理员授权,后刷新缓存!"); + return Result.error("没有权限,请联系管理员授权后刷新缓存!"); } /** From 5d95a3277c1045065f7c37d1f33d9921764eb3f0 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Wed, 26 Jun 2024 13:04:23 +0800 Subject: [PATCH 014/108] =?UTF-8?q?=E6=96=87=E6=A1=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index cb4ed884f..6ffd9ac8c 100644 --- a/README.md +++ b/README.md @@ -69,9 +69,8 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, 启动项目 ----------------------------------- -##### 命令和IDE启动 +##### IDE启动 -- [前端项目快速启动](http://help.jeecg.com/setup/startup.html) - [通过IDEA启动前后端项目](https://help.jeecg.com/java/setup/idea/startup.html) ##### Docker启动 From 9e987337c3bb4ebf3dc5ac8660379d3415eae343 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Wed, 26 Jun 2024 13:10:43 +0800 Subject: [PATCH 015/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README-EN.md | 66 +++++++++++++++++++++------------------------------- README.md | 13 ++++------- 2 files changed, 31 insertions(+), 48 deletions(-) diff --git a/README-EN.md b/README-EN.md index 8820138cc..b314dd4bd 100644 --- a/README-EN.md +++ b/README-EN.md @@ -64,10 +64,9 @@ Jeecg-Boot low code development platform can be applied in the development of an Docker starts the project ----------------------------------- -- [Docker starts the monomer background](https://help.jeecg.com/java/setup/docker/up.html) -- [Docker starts the front-end](http://help.jeecg.com/publish/docker.html) -- [Docker starts the micro-service background](https://help.jeecg.com/java/springcloud/docker.html) -- [ChatGPT AI Config](https://help.jeecg.com/java/chatgpt.html) +- [Docker starts the vue3 ui](https://help.jeecg.com/java/docker/vue3.html) +- [Docker starts the java background](https://help.jeecg.com/java/docker/up.html) + @@ -76,11 +75,12 @@ Technical documentation - Website: [http://www.jeecg.com](http://www.jeecg.com) - Doc: [http://help.jeecg.com](http://help.jeecg.com) -- Newbie guide: [Quick start](http://www.jeecg.com/doc/quickstart) | [video](https://space.bilibili.com/454617261/channel/series) | [Q&A ](http://www.jeecg.com/doc/qa) | [help](http://jeecg.com/doc/help) | [1 minute experience](https://my.oschina.net/jeecg/blog/3083313) -- Microservice Development: [Monomer upgrade to microservice](https://help.jeecg.com/java/springcloud/switchcloud/monomer.html) +- Newbie guide: [Quick start](http://www.jeecg.com/doc/quickstart) | [Q&A ](http://www.jeecg.com/doc/qa) | [1 minute experience](https://my.oschina.net/jeecg/blog/3083313) - QQ group : ⑨808791225、⑧825232878、⑦791696430、⑥730954414(full)、683903138(full)、⑤860162132(full)、④774126647(full)、③816531124(full)、②769925425(full)、①284271917(full) - Demo : [OnlineDemo](http://boot3.jeecg.com) | [APP](http://jeecg.com/appIndex) -> [please click obtain account password to obtain](http://jeecg.com/doc/demo) + + + Star charts @@ -229,38 +229,22 @@ Technical Architecture: ## Microservice solutions - -1. Service registration and discovery Nacos √ - -2. Nacos √ - -3. Route gateway gateway(Three loading modes) √ - -4. Distributed http feign √ - -5. fuse degrade current limiting Sentinel √ - -6. Distributed files Minio and Alioss √ - -7. Unified permission control - -8. Service monitoring SpringBootAdmin√ - -9. link tracking Skywalking [reference document](https://help.jeecg.com/java/springcloud/super/skywarking.html) - -10. Messaging middleware RabbitMQ √ - -11. Distributed task xxl-job √ - -12. Distributed Transaction Seata - -13. Distributed log elk + kafka - -14. Support docker-compose, k8s, jenkins - -15. CAS SSO √ - -16. Route traffic limiting √ +- 1. Service registration and discovery Nacos √ +- 2. Nacos √ +- 3. Route gateway gateway(Three loading modes) √ +- 4. Distributed http feign √ +- 5. fuse degrade current limiting Sentinel √ +- 6. Distributed files Minio and Alioss √ +- 7. Unified permission control +- 8. Service monitoring SpringBootAdmin√ +- 9. link tracking Skywalking [reference document](https://help.jeecg.com/java/springcloud/super/skywarking.html) +- 10. Messaging middleware RabbitMQ √ +- 11. Distributed task xxl-job √ +- 12. Distributed Transaction Seata +- 13. Distributed log elk + kafka +- 14. Support docker-compose, k8s, jenkins +- 15. CAS SSO √ +- 16. Route traffic limiting √ #### Microservice architecture diagram @@ -269,7 +253,9 @@ Technical Architecture: ### Jeecg Boot product functionality blueprint ![功能蓝图](https://jeecgos.oss-cn-beijing.aliyuncs.com/upload/test/Jeecg-Boot-lantu202005_1590912449914.jpg "在这里输入图片标题") - +### quick start +- Microservice Development: [Monomer upgrade to microservice](https://help.jeecg.com/java/springcloud/switchcloud/monomer.html) +- [Docker starts the micro-service background](https://help.jeecg.com/java/docker/springcloud.html) ### Effect of system diff --git a/README.md b/README.md index 6ffd9ac8c..e300204d4 100644 --- a/README.md +++ b/README.md @@ -59,10 +59,9 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, - 官方网站: [http://www.jeecg.com](http://www.jeecg.com) - 开发文档: [https://help.jeecg.com](https://help.jeecg.com) -- 新手指南: [快速入门](http://www.jeecg.com/doc/quickstart) +- 新手指南: [快速入门](http://www.jeecg.com/doc/quickstart) | [入门视频](https://www.bilibili.com/video/BV1wE421N7Xb) - QQ交流群 : ⑨808791225、其他(满) - 在线演示 : [在线演示](http://boot3.jeecg.com) | [APP演示](http://jeecg.com/appIndex) -> 演示系统的登录账号密码,请点击 [获取账号密码](http://jeecg.com/doc/demo) 获取 @@ -79,12 +78,6 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, - [Docker启动后台](https://help.jeecg.com/java/docker/up.html) -##### 微服务启动 - -- [单体快速切换微服务](https://help.jeecg.com/java/springcloud/switchcloud/monomer.html) -- [Docker启动微服务后台](https://help.jeecg.com/java/docker/springcloud.html) - - 技术架构: ----------------------------------- @@ -167,6 +160,10 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, - 16、路由限流 √ +#### 微服务方式启动 + +- [单体快速切换微服务](https://help.jeecg.com/java/springcloud/switchcloud/monomer.html) +- [Docker启动微服务后台](https://help.jeecg.com/java/docker/springcloud.html) #### 微服务架构图 From 68ab90915f293002802e7418eaa84999a1de98af Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Wed, 26 Jun 2024 13:17:13 +0800 Subject: [PATCH 016/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index e300204d4..60bda0229 100644 --- a/README.md +++ b/README.md @@ -40,18 +40,7 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, |--------------------|------------------------| | `jeecg-boot` | 后端源码JAVA(SpringBoot微服务架构) | | `jeecgboot-vue3` | 前端源码VUE3(vue3+vite5+ts最新技术栈) | -| `jeecg-uniapp` | APP框架,一份代码多终端适配,支持APP、小程序、H5 | - - -其他源码 ------------------------------------ -- APP源码地址:https://github.com/jeecgboot/jeecg-uniapp - - -技术支持 ------------------------------------ - -使用中遇到问题或者BUG可以在 [Github上提Issues](https://github.com/jeecgboot/JeecgBoot/issues/new) +| `jeecg-uniapp` | [配套APP框架](https://github.com/jeecgboot/jeecg-uniapp) 适配多个终端,支持APP、小程序、H5 | 技术文档 @@ -59,6 +48,7 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, - 官方网站: [http://www.jeecg.com](http://www.jeecg.com) - 开发文档: [https://help.jeecg.com](https://help.jeecg.com) +- 反馈问题: [在Github上提Issues](https://github.com/jeecgboot/JeecgBoot/issues/new) - 新手指南: [快速入门](http://www.jeecg.com/doc/quickstart) | [入门视频](https://www.bilibili.com/video/BV1wE421N7Xb) - QQ交流群 : ⑨808791225、其他(满) - 在线演示 : [在线演示](http://boot3.jeecg.com) | [APP演示](http://jeecg.com/appIndex) From 068434a5ec6e3ee38af3c07043212c25006eb395 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Wed, 26 Jun 2024 13:18:41 +0800 Subject: [PATCH 017/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 60bda0229..9a7644a36 100644 --- a/README.md +++ b/README.md @@ -117,15 +117,13 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, > 主干master更稳定,如果你对最新技术栈无要求,建议采用主干 -###### springboot3分支 +##### springboot3分支 - 源码地址:https://github.com/jeecgboot/JeecgBoot/tree/springboot3 - 架构说明:升级Spring Boot3 & JDK 17 + Undertow + springdoc + fastjson2 - - [参考文档](https://help.jeecg.com/java/upgrade/springboot3.html) -###### springboot3_sas分支 +##### springboot3_sas分支 - 源码地址:https://github.com/jeecgboot/JeecgBoot/tree/springboot3_sas - 架构说明:在springboot3分支基础上,采用SpringAuthorizationServer替换Shiro - - [参考文档](https://help.jeecg.com/java/shengjiSpringSecurity.html) From f2c35552b8b58ccc0db0aaacc765be07dc4627ae Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Wed, 26 Jun 2024 13:36:23 +0800 Subject: [PATCH 018/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a7644a36..fbf7ccadd 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, ##### IDE启动 -- [通过IDEA启动前后端项目](https://help.jeecg.com/java/setup/idea/startup.html) +- [IDEA启动前后端项目](https://help.jeecg.com/java/setup/idea/startup.html) ##### Docker启动 From 850815b9c6ca41e5c8fabf238007597fe7d69502 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Wed, 26 Jun 2024 13:38:18 +0800 Subject: [PATCH 019/108] =?UTF-8?q?AI=E9=85=8D=E7=BD=AE=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gpt/service/impl/ChatServiceImpl.java | 70 ++++++++++++++----- 1 file changed, 52 insertions(+), 18 deletions(-) diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/gpt/service/impl/ChatServiceImpl.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/gpt/service/impl/ChatServiceImpl.java index 16c21e9b3..d116520e4 100644 --- a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/gpt/service/impl/ChatServiceImpl.java +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/gpt/service/impl/ChatServiceImpl.java @@ -59,12 +59,6 @@ public class ChatServiceImpl implements ChatService { private OpenAiStreamClient openAiStreamClient = null; //update-begin---author:chenrui ---date:20240131 for:[QQYUN-8212]fix 没有配置启动报错------------ - public ChatServiceImpl() { - try { - this.openAiStreamClient = SpringContextUtils.getBean(OpenAiStreamClient.class); - } catch (Exception ignored) { - } - } /** * 防止client不能成功注入 @@ -73,8 +67,14 @@ public class ChatServiceImpl implements ChatService { * @date 2024/2/3 23:08 */ private OpenAiStreamClient ensureClient(){ - if(null == this.openAiStreamClient){ - this.openAiStreamClient = SpringContextUtils.getBean(OpenAiStreamClient.class); + if (null == this.openAiStreamClient){ + //update-begin---author:chenrui ---date:20240625 for:[TV360X-1570]给于更友好的提示,提示未配置ai------------ + try { + this.openAiStreamClient = SpringContextUtils.getBean(OpenAiStreamClient.class); + } catch (Exception ignored) { + sendErrorMsg("如果您想使用AI助手,请先设置相应配置!"); + } + //update-end---author:chenrui ---date:20240625 for:[TV360X-1570]给于更友好的提示,提示未配置ai------------ } return this.openAiStreamClient; } @@ -163,16 +163,21 @@ public class ChatServiceImpl implements ChatService { log.info("聊天消息推送失败uid:[{}],没有创建连接,请重试。", uid); throw new JeecgBootException("聊天消息推送失败uid:[{}],没有创建连接,请重试。~"); } - OpenAISSEEventSourceListener openAIEventSourceListener = new OpenAISSEEventSourceListener(topicId, sseEmitter); - ChatCompletion completion = ChatCompletion - .builder() - .messages(msgHistory) - .model(ChatCompletion.Model.GPT_3_5_TURBO.getName()) - .build(); - ensureClient().streamChatCompletion(completion, openAIEventSourceListener); - redisTemplate.opsForHash().put(cacheKey, CACHE_KEY_MSG_CONTEXT, JSONUtil.toJsonStr(msgHistory)); - //update-end---author:chenrui ---date:20240223 for:[QQYUN-8225]聊天记录保存------------ - Result.ok(completion.tokens()); + //update-begin---author:chenrui ---date:20240625 for:[TV360X-1570]给于更友好的提示,提示未配置ai------------ + OpenAiStreamClient client = ensureClient(); + if (null != client) { + OpenAISSEEventSourceListener openAIEventSourceListener = new OpenAISSEEventSourceListener(topicId, sseEmitter); + ChatCompletion completion = ChatCompletion + .builder() + .messages(msgHistory) + .model(ChatCompletion.Model.GPT_3_5_TURBO.getName()) + .build(); + client.streamChatCompletion(completion, openAIEventSourceListener); + redisTemplate.opsForHash().put(cacheKey, CACHE_KEY_MSG_CONTEXT, JSONUtil.toJsonStr(msgHistory)); + //update-end---author:chenrui ---date:20240223 for:[QQYUN-8225]聊天记录保存------------ + Result.ok(completion.tokens()); + } + //update-end---author:chenrui ---date:20240625 for:[TV360X-1570]给于更友好的提示,提示未配置ai------------ } //update-begin---author:chenrui ---date:20240223 for:[QQYUN-8225]聊天记录保存------------ @@ -194,6 +199,35 @@ public class ChatServiceImpl implements ChatService { return Result.OK(chatHistoryVO); } //update-end---author:chenrui ---date:20240223 for:[QQYUN-8225]聊天记录保存------------ + + /** + * 发送异常消息给前端 + * [TV360X-1570]给于更友好的提示,提示未配置ai + * + * @param msg + * @author chenrui + * @date 2024/6/25 10:38 + */ + private void sendErrorMsg(String msg) { + String uid = getUserId(); + SseEmitter sseEmitter = (SseEmitter) LocalCache.CACHE.get(uid); + if (sseEmitter == null) { + return; + } + try { + sseEmitter.send(SseEmitter.event() + .id("[ERR]") + .data(Message.builder().content(msg).build()) + .reconnectTime(3000)); + sseEmitter.send(SseEmitter.event() + .id("[DONE]") + .data("[DONE]") + .reconnectTime(3000)); + sseEmitter.complete(); + } catch (IOException e) { + log.error(e.getMessage(), e); + } + } } //update-end---author:chenrui ---date:20240126 for:【QQYUN-7932】AI助手------------ From 8064ea6abb19f6e2398e8f6814c1007a3c46ca62 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Wed, 26 Jun 2024 15:58:04 +0800 Subject: [PATCH 020/108] =?UTF-8?q?nacos=E9=95=9C=E5=83=8F=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=A4=B1=E8=B4=A5=E6=9B=BF=E6=8D=A2=E4=B8=BA=E9=98=BF?= =?UTF-8?q?=E9=87=8C=E4=BA=91=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile index 44867c36c..0c84a7d46 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile @@ -1,4 +1,4 @@ -FROM alibabadragonwell/dragonwell:17-anolis +FROM registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/java:21-anolis MAINTAINER jeecgos@163.com From 6b56be941c244e29c035298ebfde77ae6d9a5b82 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 27 Jun 2024 15:34:42 +0800 Subject: [PATCH 021/108] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86MQ=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20Shutdown=20Signal:=20channel=20error;=20pr?= =?UTF-8?q?otocol=20method:=20#method(reply-code=3D406,=20r?= =?UTF-8?q?eply-text=3DPRECONDITION=5FFAILED=20-=20unknown=20delivery=20ta?= =?UTF-8?q?g=201,=20class-id=3D60,=20method-id=3D80)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-boot/pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jeecg-boot/pom.xml b/jeecg-boot/pom.xml index f80fd3765..fa2a32417 100644 --- a/jeecg-boot/pom.xml +++ b/jeecg-boot/pom.xml @@ -220,11 +220,12 @@ jeecg-boot-starter-lock ${jeecgboot.version} - + + org.jeecgframework.boot jeecg-boot-starter-rabbitmq - ${jeecgboot.version} + 3.7.0.20240627 From 9070b4a1c71fa20e55690b5d6fe356d403c11ea8 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 27 Jun 2024 17:53:18 +0800 Subject: [PATCH 022/108] =?UTF-8?q?=E6=8F=90=E4=BE=9B=E5=88=86=E5=B8=83?= =?UTF-8?q?=E5=BC=8F=E6=97=A5=E5=BF=97=E8=BD=BB=E9=87=8F=E7=BA=A7=E6=96=B9?= =?UTF-8?q?=E6=A1=88=20Loki=E3=80=81grafana=E5=A5=97=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README-EN.md | 2 +- README.md | 2 +- jeecg-boot/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README-EN.md b/README-EN.md index b314dd4bd..ac95f6b13 100644 --- a/README-EN.md +++ b/README-EN.md @@ -241,7 +241,7 @@ Technical Architecture: - 10. Messaging middleware RabbitMQ √ - 11. Distributed task xxl-job √ - 12. Distributed Transaction Seata -- 13. Distributed log elk + kafka +- 13. Distributed log Loki+grafana - 14. Support docker-compose, k8s, jenkins - 15. CAS SSO √ - 16. Route traffic limiting √ diff --git a/README.md b/README.md index fbf7ccadd..59d60378a 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, - 10、消息中间件 RabbitMQ √ - 11、分布式任务 xxl-job √ - 12、分布式事务 Seata -- 13、分布式日志 elk + kafka +- 13、轻量分布式日志 Loki+grafana套件 - 14、支持 docker-compose、k8s、jenkins - 15、CAS 单点登录 √ - 16、路由限流 √ diff --git a/jeecg-boot/README.md b/jeecg-boot/README.md index 33ae62c5b..592d2d088 100644 --- a/jeecg-boot/README.md +++ b/jeecg-boot/README.md @@ -122,7 +122,7 @@ JeecgBoot 是一款基于代码生成器的`低代码开发平台`!前后端 - 10、消息中间件 RabbitMQ √ - 11、分布式任务 xxl-job √ - 12、分布式事务 Seata -- 13、分布式日志 elk + kafka +- 13、轻量分布式日志 Loki+grafana套件 - 14、支持 docker-compose、k8s、jenkins - 15、CAS 单点登录 √ - 16、路由限流 √ From 65a12c1156405cc81c4d7c19158ab6ebf13049bc Mon Sep 17 00:00:00 2001 From: EightMonth Date: Fri, 28 Jun 2024 15:40:43 +0800 Subject: [PATCH 023/108] =?UTF-8?q?=E6=96=B0=E5=A2=9Ejeecgboot=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E5=89=8D=E5=90=8E=E7=AB=AF=E5=90=AF=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 63 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..4ab276f77 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,63 @@ +version: '2' +services: + jeecg-boot-mysql: + build: + context: ./jeecg-boot/db + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_ROOT_HOST: '%' + TZ: Asia/Shanghai + restart: always + container_name: jeecg-boot-mysql + image: jeecg-boot-mysql + command: + --character-set-server=utf8mb4 + --collation-server=utf8mb4_general_ci + --explicit_defaults_for_timestamp=true + --lower_case_table_names=1 + --max_allowed_packet=128M + --default-authentication-plugin=caching_sha2_password + ports: + - 3306:3306 + networks: + - jeecg-boot + + jeecg-boot-redis: + image: redis:5.0 + ports: + - 6379:6379 + restart: always + hostname: jeecg-boot-redis + container_name: jeecg-boot-redis + networks: + - jeecg-boot + + jeecg-boot-system: + build: + context: ./jeecg-boot/jeecg-module-system/jeecg-system-start + restart: on-failure + depends_on: + - jeecg-boot-mysql + - jeecg-boot-redis + container_name: jeecg-boot-system + image: jeecg-boot-system + hostname: jeecg-boot-system + ports: + - 8080:8080 + networks: + - jeecg-boot + jeecg-vue: + build: + context: ./jeecgboot-vue3 + container_name: jeecgboot-vue3-nginx + image: jeecgboot-vue3 + depends_on: + - jeecg-boot-system + networks: + - jeecg-boot + ports: + - 80:80 + +networks: + jeecg-boot: + name: jeecg_boot From 4a6110c61800b81b1e92f1f4793ed894c4a897cc Mon Sep 17 00:00:00 2001 From: EightMonth Date: Fri, 28 Jun 2024 17:31:52 +0800 Subject: [PATCH 024/108] =?UTF-8?q?=E6=96=B0=E5=A2=9Ej?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose-cloud.yml | 133 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 docker-compose-cloud.yml diff --git a/docker-compose-cloud.yml b/docker-compose-cloud.yml new file mode 100644 index 000000000..06ac13c63 --- /dev/null +++ b/docker-compose-cloud.yml @@ -0,0 +1,133 @@ +version: '2' +services: + jeecg-boot-mysql: + build: + context: ./jeecg-boot/db + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_ROOT_HOST: '%' + TZ: Asia/Shanghai + restart: always + container_name: jeecg-boot-mysql + image: jeecg-boot-mysql + command: + --character-set-server=utf8mb4 + --collation-server=utf8mb4_general_ci + --explicit_defaults_for_timestamp=true + --lower_case_table_names=1 + --max_allowed_packet=128M + --default-authentication-plugin=caching_sha2_password + ports: + - 3306:3306 + networks: + - jeecg-boot + + jeecg-boot-redis: + image: redis:5.0 + ports: + - 6379:6379 + restart: always + hostname: jeecg-boot-redis + container_name: jeecg-boot-redis + networks: + - jeecg-boot + + jeecg-boot-nacos: + restart: always + build: + context: ./jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos + ports: + - 8848:8848 + container_name: jeecg-boot-nacos + hostname: jeecg-boot-nacos + networks: + - jeecg-boot + + jeecg-boot-system: + depends_on: + - jeecg-boot-nacos + build: + context: ./jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start + container_name: jeecg-system-start + hostname: jeecg-boot-system + restart: on-failure + environment: + - TZ=Asia/Shanghai + networks: + - jeecg-boot + + jeecg-boot-demo: + depends_on: + - jeecg-boot-nacos + build: + context: ./jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start + container_name: jeecg-demo-start + hostname: jeecg-boot-demo + restart: on-failure + environment: + - TZ=Asia/Shanghai + networks: + - jeecg-boot + + jeecg-boot-gateway: + restart: on-failure + build: + context: ./jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway + ports: + - 9999:9999 + depends_on: + - jeecg-boot-nacos + - jeecg-boot-system + container_name: jeecg-boot-gateway + hostname: jeecg-boot-gateway + networks: + - jeecg-boot + +# jeecg-boot-rabbitmq: +# image: rabbitmq:3.7.7-management +# ports: +# - 5672:5672 +# - 15672:15672 +# restart: always +# container_name: jeecg-boot-rabbitmq +# hostname: jeecg-boot-rabbitmq +# environment: +# RABBITMQ_DEFAULT_USER: guest +# RABBITMQ_DEFAULT_PASS: guest +# jeecg-boot-sentinel: +# restart: on-failure +# build: +# context: ./jeecg-visual/jeecg-cloud-sentinel +# ports: +# - 9000:9000 +# depends_on: +# - jeecg-boot-nacos +# - jeecg-boot-demo +# - jeecg-boot-system +# - jeecg-boot-gateway +# container_name: jeecg-boot-sentinel +# hostname: jeecg-boot-sentinel +# +# jeecg-boot-xxljob: +# build: +# context: ./jeecg-visual/jeecg-cloud-xxljob +# ports: +# - 9080:9080 +# container_name: jeecg-boot-xxljob +# hostname: jeecg-boot-xxljob + + jeecg-vue: + build: + context: ./jeecgboot-vue3 + container_name: jeecgboot-vue3-nginx + image: jeecgboot-vue3 + depends_on: + - jeecg-boot-system + networks: + - jeecg-boot + ports: + - 80:80 + +networks: + jeecg-boot: + name: jeecg_boot From d51127a9b767a8927ab73e638c468401e99871ca Mon Sep 17 00:00:00 2001 From: EightMonth Date: Fri, 28 Jun 2024 17:36:57 +0800 Subject: [PATCH 025/108] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose-cloud.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose-cloud.yml b/docker-compose-cloud.yml index 06ac13c63..c50f77d55 100644 --- a/docker-compose-cloud.yml +++ b/docker-compose-cloud.yml @@ -39,6 +39,8 @@ services: ports: - 8848:8848 container_name: jeecg-boot-nacos + depends_on: + - jeecg-boot-mysql hostname: jeecg-boot-nacos networks: - jeecg-boot From 0d79cccc52ecf7563788635d737be0614e047e36 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Fri, 28 Jun 2024 18:01:08 +0800 Subject: [PATCH 026/108] =?UTF-8?q?=E6=94=AF=E6=8C=81Docker=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E5=90=AF=E5=8A=A8=E5=89=8D=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README-EN.md | 8 +++----- README.md | 8 +------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/README-EN.md b/README-EN.md index ac95f6b13..22cc67c70 100644 --- a/README-EN.md +++ b/README-EN.md @@ -60,13 +60,11 @@ For the project Jeecg-Boot low code development platform can be applied in the development of any J2EE project, especially for SAAS projects, enterprise information management system (MIS), internal office system (OA), enterprise resource planning system (ERP), customer relationship management system (CRM), etc. Its semi-intelligent manual Merge development method, Can significantly improve the development efficiency of more than 70%, greatly reduce the development cost. - -Docker starts the project +Starts the project ----------------------------------- -- [Docker starts the vue3 ui](https://help.jeecg.com/java/docker/vue3.html) -- [Docker starts the java background](https://help.jeecg.com/java/docker/up.html) - +- [IDEA Quick start](https://help.jeecg.com/java/setup/idea/startup.html) +- [Docker Quick start](https://help.jeecg.com/java/docker/quick.html) diff --git a/README.md b/README.md index 59d60378a..a464577e1 100644 --- a/README.md +++ b/README.md @@ -58,14 +58,8 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, 启动项目 ----------------------------------- -##### IDE启动 - - [IDEA启动前后端项目](https://help.jeecg.com/java/setup/idea/startup.html) - -##### Docker启动 - -- [Docker启动前端](https://help.jeecg.com/java/docker/vue3.html) -- [Docker启动后台](https://help.jeecg.com/java/docker/up.html) +- [Docker一键启动前后端](https://help.jeecg.com/java/docker/quick.html) 技术架构: From 0ad9942e89fd1e0e080baf5394058cabe62c6fe9 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Fri, 28 Jun 2024 18:07:32 +0800 Subject: [PATCH 027/108] =?UTF-8?q?=E6=94=AF=E6=8C=81Docker=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E5=90=AF=E5=8A=A8=E5=89=8D=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-boot/README.md | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/jeecg-boot/README.md b/jeecg-boot/README.md index 592d2d088..4e59c42ac 100644 --- a/jeecg-boot/README.md +++ b/jeecg-boot/README.md @@ -44,23 +44,17 @@ JeecgBoot 是一款基于代码生成器的`低代码开发平台`!前后端 启动项目 ----------------------------------- -##### 命令和IDE启动 - -- [前端项目快速启动](http://help.jeecg.com/setup/startup.html) -- [通过IDEA启动前后端项目](https://help.jeecg.com/java/setup/idea/startup.html) - -##### Docker启动 - -- [Docker启动前端](https://help.jeecg.com/java/docker/vue3.html) -- [Docker启动后台](https://help.jeecg.com/java/docker/up.html) +- [IDEA启动前后端项目](https://help.jeecg.com/java/setup/idea/startup.html) +- [Docker一键启动前后端](https://help.jeecg.com/java/docker/quick.html) -##### 微服务启动 - +微服务启动 +----------------------------------- - [单体快速切换微服务](https://help.jeecg.com/java/springcloud/switchcloud/monomer.html) - [Docker启动微服务后台](https://help.jeecg.com/java/docker/springcloud.html) + 技术架构: ----------------------------------- From 7b14b5df4addc8f61ebff5797a21378a6676b094 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Sat, 29 Jun 2024 18:25:55 +0800 Subject: [PATCH 028/108] =?UTF-8?q?=E7=AE=80=E5=8C=96docker=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=BE=AE=E6=9C=8D=E5=8A=A1=E5=90=8E=E5=8F=B0=EF=BC=8C?= =?UTF-8?q?=E5=88=A0=E9=99=A4jeecg-boot/jeecg-server-cloud/docker-compose-?= =?UTF-8?q?base.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docker-compose-base.yml | 49 ------------------- .../jeecg-server-cloud/docker-compose.yml | 44 +++++++++++++++++ .../jeecg-cloud-gateway/Dockerfile | 2 +- .../jeecg-cloud-nacos/Dockerfile | 2 +- .../jeecg-demo-cloud-start/Dockerfile | 2 +- .../jeecg-system-cloud-start/Dockerfile | 2 +- 6 files changed, 48 insertions(+), 53 deletions(-) delete mode 100644 jeecg-boot/jeecg-server-cloud/docker-compose-base.yml diff --git a/jeecg-boot/jeecg-server-cloud/docker-compose-base.yml b/jeecg-boot/jeecg-server-cloud/docker-compose-base.yml deleted file mode 100644 index a406c41ae..000000000 --- a/jeecg-boot/jeecg-server-cloud/docker-compose-base.yml +++ /dev/null @@ -1,49 +0,0 @@ -version: '2' -services: - jeecg-boot-mysql: - build: - context: ../db - environment: - MYSQL_ROOT_PASSWORD: root - MYSQL_ROOT_HOST: '%' - TZ: Asia/Shanghai - restart: always - container_name: jeecg-boot-mysql - command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_general_ci - --explicit_defaults_for_timestamp=true - --lower_case_table_names=1 - --max_allowed_packet=128M - --default-authentication-plugin=caching_sha2_password - ports: - - 3306:3306 - networks: - - jeecg-boot - - jeecg-boot-redis: - image: redis:5.0 - ports: - - 6379:6379 - restart: always - container_name: jeecg-boot-redis - hostname: jeecg-boot-redis - networks: - - jeecg-boot - - -networks: - jeecg-boot: - name: jeecg_boot - -# jeecg-boot-rabbitmq: -# image: rabbitmq:3.7.7-management -# ports: -# - 5672:5672 -# - 15672:15672 -# restart: always -# container_name: jeecg-boot-rabbitmq -# hostname: jeecg-boot-rabbitmq -# environment: -# RABBITMQ_DEFAULT_USER: guest -# RABBITMQ_DEFAULT_PASS: guest diff --git a/jeecg-boot/jeecg-server-cloud/docker-compose.yml b/jeecg-boot/jeecg-server-cloud/docker-compose.yml index 0a4415f3a..c3fdc8c96 100644 --- a/jeecg-boot/jeecg-server-cloud/docker-compose.yml +++ b/jeecg-boot/jeecg-server-cloud/docker-compose.yml @@ -1,5 +1,49 @@ version: '2' services: + jeecg-boot-mysql: + build: + context: ../db + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_ROOT_HOST: '%' + TZ: Asia/Shanghai + restart: always + container_name: jeecg-boot-mysql + command: + --character-set-server=utf8mb4 + --collation-server=utf8mb4_general_ci + --explicit_defaults_for_timestamp=true + --lower_case_table_names=1 + --max_allowed_packet=128M + --default-authentication-plugin=caching_sha2_password + ports: + - 3306:3306 + networks: + - jeecg-boot + + jeecg-boot-redis: + image: redis:5.0 + ports: + - 6379:6379 + restart: always + container_name: jeecg-boot-redis + hostname: jeecg-boot-redis + networks: + - jeecg-boot + +# jeecg-boot-rabbitmq: +# image: rabbitmq:3.7.7-management +# ports: +# - 5672:5672 +# - 15672:15672 +# restart: always +# container_name: jeecg-boot-rabbitmq +# hostname: jeecg-boot-rabbitmq +# environment: +# RABBITMQ_DEFAULT_USER: guest +# RABBITMQ_DEFAULT_PASS: guest + + jeecg-boot-nacos: restart: always build: diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile index 53c0aaae1..16b63b4c6 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile @@ -12,4 +12,4 @@ EXPOSE 9999 ADD ./target/jeecg-cloud-gateway-3.7.0.jar ./ -CMD sleep 1;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-gateway-3.7.0.jar \ No newline at end of file +CMD sleep 100;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-gateway-3.7.0.jar \ No newline at end of file diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile index 0c84a7d46..aa25a2c42 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile @@ -12,4 +12,4 @@ EXPOSE 8848 ADD ./target/jeecg-cloud-nacos-3.7.0.jar ./ -CMD sleep 1;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-nacos-3.7.0.jar \ No newline at end of file +CMD sleep 30;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-nacos-3.7.0.jar \ No newline at end of file diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile index bfc5dac36..6cf5adcec 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile +++ b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile @@ -12,4 +12,4 @@ EXPOSE 7002 ADD ./target/jeecg-demo-cloud-start-3.7.0.jar ./ -CMD sleep 1;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-demo-cloud-start-3.7.0.jar +CMD sleep 60;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-demo-cloud-start-3.7.0.jar diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile index 45b2039dd..be876717a 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile +++ b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile @@ -12,4 +12,4 @@ EXPOSE 7001 ADD ./target/jeecg-system-cloud-start-3.7.0.jar ./ -CMD sleep 1;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-system-cloud-start-3.7.0.jar \ No newline at end of file +CMD sleep 60;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-system-cloud-start-3.7.0.jar \ No newline at end of file From 434d1cca618032b605c7abc4fd49084d208861c3 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Sat, 29 Jun 2024 18:34:01 +0800 Subject: [PATCH 029/108] =?UTF-8?q?=E6=94=AF=E6=8C=81Docker=E4=B8=80?= =?UTF-8?q?=E9=94=AE=E5=90=AF=E5=8A=A8=E5=BE=AE=E6=9C=8D=E5=8A=A1=E5=89=8D?= =?UTF-8?q?=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index a464577e1..4c1bc6d44 100644 --- a/README.md +++ b/README.md @@ -106,20 +106,6 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, | 人大金仓 | √ | - -#### 分支说明 - -> 主干master更稳定,如果你对最新技术栈无要求,建议采用主干 - -##### springboot3分支 - - 源码地址:https://github.com/jeecgboot/JeecgBoot/tree/springboot3 - - 架构说明:升级Spring Boot3 & JDK 17 + Undertow + springdoc + fastjson2 - -##### springboot3_sas分支 - - 源码地址:https://github.com/jeecgboot/JeecgBoot/tree/springboot3_sas - - 架构说明:在springboot3分支基础上,采用SpringAuthorizationServer替换Shiro - - ## 微服务解决方案 @@ -145,7 +131,7 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, #### 微服务方式启动 - [单体快速切换微服务](https://help.jeecg.com/java/springcloud/switchcloud/monomer.html) -- [Docker启动微服务后台](https://help.jeecg.com/java/docker/springcloud.html) +- [Docker一键启动微服务前后端](https://help.jeecg.com/java/docker/quickcloud.html) #### 微服务架构图 @@ -204,6 +190,20 @@ Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中, +### 分支说明 + +> 主干master更稳定,如果你对最新技术栈无要求,建议采用主干 + +#### springboot3分支 + - 源码地址:https://github.com/jeecgboot/JeecgBoot/tree/springboot3 + - 架构说明:升级Spring Boot3 & JDK 17 + Undertow + springdoc + fastjson2 + +#### springboot3_sas分支 + - 源码地址:https://github.com/jeecgboot/JeecgBoot/tree/springboot3_sas + - 架构说明:在springboot3分支基础上,采用SpringAuthorizationServer替换Shiro + + + ### 功能模块 ``` ├─Online在线开发(低代码) From 3c7da54c3cfc882c4ce8cfff86923158a5619ee9 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 1 Jul 2024 19:42:15 +0800 Subject: [PATCH 030/108] =?UTF-8?q?=E5=90=AF=E5=8A=A8jar=E6=97=B6=E6=8A=A5?= =?UTF-8?q?=E9=94=99=EF=BC=9AElasticSearch=20=E6=9C=8D=E5=8A=A1=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeecg-system-start/src/main/resources/application-prod.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml index df0ddd1ac..421dafdf3 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml +++ b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml @@ -231,7 +231,7 @@ jeecg: elasticsearch: cluster-name: jeecg-ES cluster-nodes: 127.0.0.1:9200 - check-enabled: true + check-enabled: false # 在线预览文件服务器地址配置 file-view-domain: http://fileview.jeecg.com # minio文件上传 From 2d16d1c79c9731a968ac8f75fdc3834640a33eca Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Tue, 2 Jul 2024 09:24:02 +0800 Subject: [PATCH 031/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE | 16 +++------------- jeecg-boot/LICENSE | 16 +++------------- jeecgboot-vue3/LICENSE | 17 ++--------------- 3 files changed, 8 insertions(+), 41 deletions(-) diff --git a/LICENSE b/LICENSE index cc9116703..cf00fecc0 100644 --- a/LICENSE +++ b/LICENSE @@ -201,16 +201,6 @@ limitations under the License. In any case, you must not make any such use of this software as to develop software which may be considered competitive with this software. - - 开源协议补充 - JeecgBoot 是由 北京国炬信息技术有限公司 发行的软件。 总部位于北京,地址:中国·北京·朝阳区科荟前街1号院奥林佳泰大厦。邮箱:jeecgos@163.com - 本软件受适用的国家软件著作权法(包括国际条约)和双重保护许可。 - - 1.允许基于本平台软件开展业务系统开发。 - 2.JeecgBoot底层依赖的非开源功能:online lib依赖、仪表盘lib依赖等,统一采用LGPL开源协议(不二次改造、不拆分出jeecgboot之外使用,就不产生侵权) - 3.不得基于该平台软件的基础,修改包装成一个与JeecgBoot平台软件功能类似的产品进行发布、销售,或与JeecgBoot参与同类软件产品市场的竞争。 - 违反此条款属于侵权行为,须赔偿侵权经济损失,同时立即停止著作权侵权行为。 - - 总结:在遵循Apache开源协议和开源协议补充条款下,允许商用使用,不会造成侵权行为! - 解释权归:http://www.jeecg.com - \ No newline at end of file + + It is not allowed to develop and package new products based on the JeecgBoot platform, + and compete with JeecgBoot in the market of similar software products diff --git a/jeecg-boot/LICENSE b/jeecg-boot/LICENSE index cc9116703..cf00fecc0 100644 --- a/jeecg-boot/LICENSE +++ b/jeecg-boot/LICENSE @@ -201,16 +201,6 @@ limitations under the License. In any case, you must not make any such use of this software as to develop software which may be considered competitive with this software. - - 开源协议补充 - JeecgBoot 是由 北京国炬信息技术有限公司 发行的软件。 总部位于北京,地址:中国·北京·朝阳区科荟前街1号院奥林佳泰大厦。邮箱:jeecgos@163.com - 本软件受适用的国家软件著作权法(包括国际条约)和双重保护许可。 - - 1.允许基于本平台软件开展业务系统开发。 - 2.JeecgBoot底层依赖的非开源功能:online lib依赖、仪表盘lib依赖等,统一采用LGPL开源协议(不二次改造、不拆分出jeecgboot之外使用,就不产生侵权) - 3.不得基于该平台软件的基础,修改包装成一个与JeecgBoot平台软件功能类似的产品进行发布、销售,或与JeecgBoot参与同类软件产品市场的竞争。 - 违反此条款属于侵权行为,须赔偿侵权经济损失,同时立即停止著作权侵权行为。 - - 总结:在遵循Apache开源协议和开源协议补充条款下,允许商用使用,不会造成侵权行为! - 解释权归:http://www.jeecg.com - \ No newline at end of file + + It is not allowed to develop and package new products based on the JeecgBoot platform, + and compete with JeecgBoot in the market of similar software products diff --git a/jeecgboot-vue3/LICENSE b/jeecgboot-vue3/LICENSE index 7afdd6554..f0fab5777 100644 --- a/jeecgboot-vue3/LICENSE +++ b/jeecgboot-vue3/LICENSE @@ -20,18 +20,5 @@ 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. - - - 开源协议补充 - JeecgBoot 是由 北京国炬信息技术有限公司 发行的软件。 总部位于北京,地址:中国·北京·朝阳区科荟前街1号院奥林佳泰大厦。邮箱:jeecgos@163.com - 本软件受适用的国家软件著作权法(包括国际条约)和双重保护许可。 - - 1.允许基于本平台软件开展业务系统开发。 - 2.JeecgBoot底层依赖的非开源功能:online lib依赖、仪表盘lib依赖等,统一采用LGPL开源协议(不二次改造、不拆分出jeecgboot之外使用,就不产生侵权) - 3.不得基于该平台软件的基础,修改包装成一个与JeecgBoot平台软件功能类似的产品进行发布、销售,或与JeecgBoot参与同类软件产品市场的竞争。 - 违反此条款属于侵权行为,须赔偿侵权经济损失,同时立即停止著作权侵权行为。 - - 总结:在遵循Apache开源协议和开源协议补充条款下,允许商用使用,不会造成侵权行为! - 解释权归: - http://www.jeecg.com - http://guojusoft.com +It is not allowed to develop and package new products based on the JeecgBoot platform, +and compete with JeecgBoot in the market of similar software products From 54676a4512cfb11cb95ae624f10a2882c009f397 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Tue, 2 Jul 2024 09:27:34 +0800 Subject: [PATCH 032/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE | 5 +---- jeecg-boot/LICENSE | 5 +---- jeecgboot-vue3/LICENSE | 5 ++--- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/LICENSE b/LICENSE index cf00fecc0..5b8fb7d5a 100644 --- a/LICENSE +++ b/LICENSE @@ -200,7 +200,4 @@ See the License for the specific language governing permissions and limitations under the License. - In any case, you must not make any such use of this software as to develop software which may be considered competitive with this software. - - It is not allowed to develop and package new products based on the JeecgBoot platform, - and compete with JeecgBoot in the market of similar software products + In any case, you must not make any such use of this software as to develop software which may be considered competitive with this software. \ No newline at end of file diff --git a/jeecg-boot/LICENSE b/jeecg-boot/LICENSE index cf00fecc0..5b8fb7d5a 100644 --- a/jeecg-boot/LICENSE +++ b/jeecg-boot/LICENSE @@ -200,7 +200,4 @@ See the License for the specific language governing permissions and limitations under the License. - In any case, you must not make any such use of this software as to develop software which may be considered competitive with this software. - - It is not allowed to develop and package new products based on the JeecgBoot platform, - and compete with JeecgBoot in the market of similar software products + In any case, you must not make any such use of this software as to develop software which may be considered competitive with this software. \ No newline at end of file diff --git a/jeecgboot-vue3/LICENSE b/jeecgboot-vue3/LICENSE index f0fab5777..d48a2ba48 100644 --- a/jeecgboot-vue3/LICENSE +++ b/jeecgboot-vue3/LICENSE @@ -19,6 +19,5 @@ 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. - -It is not allowed to develop and package new products based on the JeecgBoot platform, -and compete with JeecgBoot in the market of similar software products + +In any case, you must not make any such use of this software as to develop software which may be considered competitive with this software. From 4ac18b5d817c1ceb615a0c3ef719803dabd89710 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Fri, 5 Jul 2024 15:49:11 +0800 Subject: [PATCH 033/108] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitattributes b/.gitattributes index 58102be26..24f47fb73 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,6 @@ *.js linguist-language=Java *.css linguist-language=Java -*.html linguist-language=Java -*.vue linguist-language=Java +*.ts linguist-language=vue +*.html linguist-language=vue +*.vue linguist-language=vue *.sql linguist-language=Java From 8000d61ce00c6d4415d3828999f47dfb8dfb8650 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Fri, 5 Jul 2024 15:53:18 +0800 Subject: [PATCH 034/108] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=AF=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index 24f47fb73..9206835a9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,5 +2,4 @@ *.css linguist-language=Java *.ts linguist-language=vue *.html linguist-language=vue -*.vue linguist-language=vue *.sql linguist-language=Java From e3cd6bfc9775c11d8d80701468a6c3c1d09b172e Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Sat, 6 Jul 2024 22:21:25 +0800 Subject: [PATCH 035/108] =?UTF-8?q?=E5=8D=87=E7=BA=A7jimureport=E5=88=B0?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=89=881.7.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-boot/pom.xml | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/jeecg-boot/pom.xml b/jeecg-boot/pom.xml index fa2a32417..1aa205ffa 100644 --- a/jeecg-boot/pom.xml +++ b/jeecg-boot/pom.xml @@ -57,10 +57,9 @@ 3.5.3.2 4.1.3 1.2.22 - 1.9.10 - 1.7.6 + 1.7.7 2.11.0 2.6 2.1.0 @@ -370,22 +369,6 @@ - - - org.jeecgframework - minidao-spring-boot-starter - ${minidao.version} - - - druid - com.alibaba - - - jsqlparser - com.github.jsqlparser - - - org.jeecgframework.jimureport @@ -400,10 +383,6 @@ druid com.alibaba - - jsqlparser - com.github.jsqlparser - From 7ea46609b12b4a7af2fedeb03e2c6f06d14b596c Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Mon, 8 Jul 2024 12:22:41 +0800 Subject: [PATCH 036/108] =?UTF-8?q?=E5=8D=87=E7=BA=A7jimureport=E5=88=B0?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=89=881.7.8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-boot/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jeecg-boot/pom.xml b/jeecg-boot/pom.xml index 1aa205ffa..8438ddcbe 100644 --- a/jeecg-boot/pom.xml +++ b/jeecg-boot/pom.xml @@ -59,7 +59,7 @@ 1.2.22 - 1.7.7 + 1.7.8 2.11.0 2.6 2.1.0 From fbebaf456b8467d3707304467fad4b0a210009f4 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Tue, 9 Jul 2024 14:44:25 +0800 Subject: [PATCH 037/108] =?UTF-8?q?nacos=E5=8D=87=E7=BA=A7=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E8=BE=BE=E6=A2=A6=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeecg-cloud-nacos/docs/db/nacos_dm.sql | 327 ++++++++++++++++++ .../jeecg-cloud-nacos/pom.xml | 21 +- .../src/main/resources/application-dm.yml | 63 ++++ .../src/main/resources/application-mysql.yml | 60 ++++ .../src/main/resources/application.yml | 61 +--- 5 files changed, 469 insertions(+), 63 deletions(-) create mode 100644 jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql create mode 100644 jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-dm.yml create mode 100644 jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql new file mode 100644 index 000000000..cdf6320bb --- /dev/null +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql @@ -0,0 +1,327 @@ +CREATE TABLE "NACOS"."CONFIG_INFO" +( +"ID" BIGINT IDENTITY(1, 1) NOT NULL, +"DATA_ID" VARCHAR(255) NOT NULL, +"GROUP_ID" VARCHAR(128), +"CONTENT" CLOB NOT NULL, +"MD5" VARCHAR(32), +"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +"SRC_USER" TEXT, +"SRC_IP" VARCHAR(50), +"APP_NAME" VARCHAR(128), +"TENANT_ID" VARCHAR(128) DEFAULT '', +"C_DESC" VARCHAR(256), +"C_USE" VARCHAR(64), +"EFFECT" VARCHAR(64), +"TYPE" VARCHAR(64), +"C_SCHEMA" TEXT, +"ENCRYPTED_DATA_KEY" TEXT NOT NULL, +NOT CLUSTER PRIMARY KEY("ID"), +CONSTRAINT "UK_CONFIGINFO_DATAGROUPTENANT" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; + +COMMENT ON TABLE "NACOS"."CONFIG_INFO" IS 'config_info'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."CONTENT" IS 'content'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."DATA_ID" IS 'data_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."ENCRYPTED_DATA_KEY" IS '密钥'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."GMT_CREATE" IS '创建时间'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."GMT_MODIFIED" IS '修改时间'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."ID" IS 'id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."MD5" IS 'md5'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."SRC_IP" IS 'source ip'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."SRC_USER" IS 'source user'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."TENANT_ID" IS '租户字段'; + + +CREATE TABLE "NACOS"."CONFIG_INFO_AGGR" +( +"ID" BIGINT IDENTITY(1, 1) NOT NULL, +"DATA_ID" VARCHAR(255) NOT NULL, +"GROUP_ID" VARCHAR(128) NOT NULL, +"DATUM_ID" VARCHAR(255) NOT NULL, +"CONTENT" CLOB NOT NULL, +"GMT_MODIFIED" TIMESTAMP(0) NOT NULL, +"APP_NAME" VARCHAR(128), +"TENANT_ID" VARCHAR(128) DEFAULT '', +NOT CLUSTER PRIMARY KEY("ID"), +CONSTRAINT "UK_CONFIGINFOAGGR_DATAGROUPTENANTDATUM" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID", "DATUM_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; + +COMMENT ON TABLE "NACOS"."CONFIG_INFO_AGGR" IS '增加租户字段'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."CONTENT" IS '内容'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."DATA_ID" IS 'data_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."DATUM_ID" IS 'datum_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."GMT_MODIFIED" IS '修改时间'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."GROUP_ID" IS 'group_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."ID" IS 'id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."TENANT_ID" IS '租户字段'; + + +CREATE TABLE "NACOS"."CONFIG_INFO_BETA" +( +"ID" BIGINT IDENTITY(1, 1) NOT NULL, +"DATA_ID" VARCHAR(255) NOT NULL, +"GROUP_ID" VARCHAR(128) NOT NULL, +"APP_NAME" VARCHAR(128), +"CONTENT" CLOB NOT NULL, +"BETA_IPS" VARCHAR(1024), +"MD5" VARCHAR(32), +"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +"SRC_USER" TEXT, +"SRC_IP" VARCHAR(50), +"TENANT_ID" VARCHAR(128) DEFAULT '', +"ENCRYPTED_DATA_KEY" TEXT NOT NULL, +NOT CLUSTER PRIMARY KEY("ID"), +CONSTRAINT "UK_CONFIGINFOBETA_DATAGROUPTENANT" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; + +COMMENT ON TABLE "NACOS"."CONFIG_INFO_BETA" IS 'config_info_beta'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."APP_NAME" IS 'app_name'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."BETA_IPS" IS 'betaIps'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."CONTENT" IS 'content'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."DATA_ID" IS 'data_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."ENCRYPTED_DATA_KEY" IS '密钥'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GMT_CREATE" IS '创建时间'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GMT_MODIFIED" IS '修改时间'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GROUP_ID" IS 'group_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."ID" IS 'id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."MD5" IS 'md5'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."SRC_IP" IS 'source ip'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."SRC_USER" IS 'source user'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."TENANT_ID" IS '租户字段'; + + +CREATE TABLE "NACOS"."CONFIG_INFO_TAG" +( +"ID" BIGINT IDENTITY(1, 1) NOT NULL, +"DATA_ID" VARCHAR(255) NOT NULL, +"GROUP_ID" VARCHAR(128) NOT NULL, +"TENANT_ID" VARCHAR(128) DEFAULT '', +"TAG_ID" VARCHAR(128) NOT NULL, +"APP_NAME" VARCHAR(128), +"CONTENT" CLOB NOT NULL, +"MD5" VARCHAR(32), +"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +"SRC_USER" TEXT, +"SRC_IP" VARCHAR(50), +NOT CLUSTER PRIMARY KEY("ID"), +CONSTRAINT "UK_CONFIGINFOTAG_DATAGROUPTENANTTAG" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID", "TAG_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; + +COMMENT ON TABLE "NACOS"."CONFIG_INFO_TAG" IS 'config_info_tag'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."APP_NAME" IS 'app_name'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."CONTENT" IS 'content'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."DATA_ID" IS 'data_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GMT_CREATE" IS '创建时间'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GMT_MODIFIED" IS '修改时间'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GROUP_ID" IS 'group_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."ID" IS 'id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."MD5" IS 'md5'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."SRC_IP" IS 'source ip'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."SRC_USER" IS 'source user'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."TAG_ID" IS 'tag_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."TENANT_ID" IS 'tenant_id'; + + +CREATE TABLE "NACOS"."CONFIG_TAGS_RELATION" +( +"ID" BIGINT NOT NULL, +"TAG_NAME" VARCHAR(128) NOT NULL, +"TAG_TYPE" VARCHAR(64), +"DATA_ID" VARCHAR(255) NOT NULL, +"GROUP_ID" VARCHAR(128) NOT NULL, +"TENANT_ID" VARCHAR(128) DEFAULT '', +"NID" BIGINT IDENTITY(1, 1) NOT NULL, +NOT CLUSTER PRIMARY KEY("NID"), +CONSTRAINT "UK_CONFIGTAGRELATION_CONFIGIDTAG" UNIQUE("ID", "TAG_NAME", "TAG_TYPE")) STORAGE(ON "MAIN", CLUSTERBTR) ; + +COMMENT ON TABLE "NACOS"."CONFIG_TAGS_RELATION" IS 'config_tag_relation'; +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."DATA_ID" IS 'data_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."GROUP_ID" IS 'group_id'; +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."ID" IS 'id'; +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TAG_NAME" IS 'tag_name'; +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TAG_TYPE" IS 'tag_type'; +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TENANT_ID" IS 'tenant_id'; + + +CREATE TABLE "NACOS"."GROUP_CAPACITY" +( +"ID" BIGINT IDENTITY(1, 1) NOT NULL, +"GROUP_ID" VARCHAR(128) DEFAULT '' NOT NULL, +"QUOTA" BIGINT DEFAULT 0 NOT NULL, +"USAGE" BIGINT DEFAULT 0 NOT NULL, +"MAX_SIZE" BIGINT DEFAULT 0 NOT NULL, +"MAX_AGGR_COUNT" BIGINT DEFAULT 0 NOT NULL, +"MAX_AGGR_SIZE" BIGINT DEFAULT 0 NOT NULL, +"MAX_HISTORY_COUNT" BIGINT DEFAULT 0 NOT NULL, +"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +NOT CLUSTER PRIMARY KEY("ID"), +CONSTRAINT "UK_GROUP_ID" UNIQUE("GROUP_ID"), +CHECK("QUOTA" >= 0) +,CHECK("MAX_HISTORY_COUNT" >= 0) +,CHECK("MAX_AGGR_SIZE" >= 0) +,CHECK("MAX_AGGR_COUNT" >= 0) +,CHECK("MAX_SIZE" >= 0) +,CHECK("USAGE" >= 0)) STORAGE(ON "MAIN", CLUSTERBTR) ; + +COMMENT ON TABLE "NACOS"."GROUP_CAPACITY" IS '集群、各Group容量信息表'; +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GMT_CREATE" IS '创建时间'; +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GMT_MODIFIED" IS '修改时间'; +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GROUP_ID" IS 'Group ID,空字符表示整个集群'; +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."ID" IS '主键ID'; +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_AGGR_COUNT" IS '聚合子配置最大个数,,0表示使用默认值'; +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_AGGR_SIZE" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值'; +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_HISTORY_COUNT" IS '最大变更历史数量'; +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_SIZE" IS '单个配置大小上限,单位为字节,0表示使用默认值'; +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."QUOTA" IS '配额,0表示使用默认值'; +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."USAGE" IS '使用量'; + + +CREATE TABLE "NACOS"."HIS_CONFIG_INFO" +( +"ID" DECIMAL(20,0) NOT NULL, +"NID" BIGINT IDENTITY(1, 1) NOT NULL, +"DATA_ID" VARCHAR(255) NOT NULL, +"GROUP_ID" VARCHAR(128) NOT NULL, +"APP_NAME" VARCHAR(128), +"CONTENT" CLOB NOT NULL, +"MD5" VARCHAR(32), +"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +"SRC_USER" TEXT, +"SRC_IP" VARCHAR(50), +"OP_TYPE" CHAR(10), +"TENANT_ID" VARCHAR(128) DEFAULT '', +"ENCRYPTED_DATA_KEY" TEXT NOT NULL, +NOT CLUSTER PRIMARY KEY("NID"), +CHECK("ID" >= 0)) STORAGE(ON "MAIN", CLUSTERBTR) ; + +COMMENT ON TABLE "NACOS"."HIS_CONFIG_INFO" IS '多租户改造'; +COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."APP_NAME" IS 'app_name'; +COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."ENCRYPTED_DATA_KEY" IS '密钥'; +COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."TENANT_ID" IS '租户字段'; + + +CREATE OR REPLACE INDEX "IDX_GMT_MODIFIED" ON "NACOS"."HIS_CONFIG_INFO"("GMT_MODIFIED" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ; +CREATE OR REPLACE INDEX "IDX_GMT_CREATE" ON "NACOS"."HIS_CONFIG_INFO"("GMT_CREATE" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ; +CREATE OR REPLACE INDEX "IDX_DID" ON "NACOS"."HIS_CONFIG_INFO"("DATA_ID" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ; + +CREATE TABLE "NACOS"."PERMISSIONS" +( +"ROLE" VARCHAR(50) NOT NULL, +"RESOURCE" VARCHAR(255) NOT NULL, +"ACTION" VARCHAR(8) NOT NULL, +CONSTRAINT "UK_ROLE_PERMISSION" UNIQUE("ROLE", "RESOURCE", "ACTION")) STORAGE(ON "MAIN", CLUSTERBTR) ; + +CREATE TABLE "NACOS"."ROLES" +( +"USERNAME" VARCHAR(50) NOT NULL, +"ROLE" VARCHAR(50) NOT NULL, +CONSTRAINT "IDX_USER_ROLE" UNIQUE("USERNAME", "ROLE")) STORAGE(ON "MAIN", CLUSTERBTR) ; + +CREATE TABLE "NACOS"."TENANT_CAPACITY" +( +"ID" BIGINT IDENTITY(1, 1) NOT NULL, +"TENANT_ID" VARCHAR(128) DEFAULT '' NOT NULL, +"QUOTA" BIGINT DEFAULT 0 NOT NULL, +"USAGE" BIGINT DEFAULT 0 NOT NULL, +"MAX_SIZE" BIGINT DEFAULT 0 NOT NULL, +"MAX_AGGR_COUNT" BIGINT DEFAULT 0 NOT NULL, +"MAX_AGGR_SIZE" BIGINT DEFAULT 0 NOT NULL, +"MAX_HISTORY_COUNT" BIGINT DEFAULT 0 NOT NULL, +"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, +NOT CLUSTER PRIMARY KEY("ID"), +CONSTRAINT "UK_TENANT_ID" UNIQUE("TENANT_ID"), +CHECK("QUOTA" >= 0) +,CHECK("MAX_HISTORY_COUNT" >= 0) +,CHECK("MAX_AGGR_SIZE" >= 0) +,CHECK("MAX_AGGR_COUNT" >= 0) +,CHECK("MAX_SIZE" >= 0) +,CHECK("USAGE" >= 0)) STORAGE(ON "MAIN", CLUSTERBTR) ; + +COMMENT ON TABLE "NACOS"."TENANT_CAPACITY" IS '租户容量信息表'; +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."GMT_CREATE" IS '创建时间'; +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."GMT_MODIFIED" IS '修改时间'; +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."ID" IS '主键ID'; +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_AGGR_COUNT" IS '聚合子配置最大个数'; +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_AGGR_SIZE" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值'; +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_HISTORY_COUNT" IS '最大变更历史数量'; +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_SIZE" IS '单个配置大小上限,单位为字节,0表示使用默认值'; +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."QUOTA" IS '配额,0表示使用默认值'; +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."TENANT_ID" IS 'Tenant ID'; +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."USAGE" IS '使用量'; + + +CREATE TABLE "NACOS"."TENANT_INFO" +( +"ID" BIGINT IDENTITY(1, 1) NOT NULL, +"KP" VARCHAR(128) NOT NULL, +"TENANT_ID" VARCHAR(128) DEFAULT '', +"TENANT_NAME" VARCHAR(128) DEFAULT '', +"TENANT_DESC" VARCHAR(256), +"CREATE_SOURCE" VARCHAR(32), +"GMT_CREATE" BIGINT NOT NULL, +"GMT_MODIFIED" BIGINT NOT NULL, +NOT CLUSTER PRIMARY KEY("ID"), +CONSTRAINT "UK_TENANT_INFO_KPTENANTID" UNIQUE("KP", "TENANT_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; + +COMMENT ON TABLE "NACOS"."TENANT_INFO" IS 'tenant_info'; +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."CREATE_SOURCE" IS 'create_source'; +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."GMT_CREATE" IS '创建时间'; +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."GMT_MODIFIED" IS '修改时间'; +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."ID" IS 'id'; +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."KP" IS 'kp'; +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_DESC" IS 'tenant_desc'; +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_ID" IS 'tenant_id'; +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_NAME" IS 'tenant_name'; + + +CREATE OR REPLACE INDEX "IDX_TENANT_ID" ON "NACOS"."TENANT_INFO"("TENANT_ID" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ; + +CREATE TABLE "NACOS"."USERS" +( +"USERNAME" VARCHAR(50) NOT NULL, +"PASSWORD" VARCHAR(500) NOT NULL, +"ENABLED" TINYINT NOT NULL, +NOT CLUSTER PRIMARY KEY("USERNAME")) STORAGE(ON "MAIN", CLUSTERBTR) ; + + + + +insert into "NACOS"."CONFIG_INFO"("ID", "DATA_ID", "GROUP_ID", "CONTENT", "MD5", "GMT_CREATE", "GMT_MODIFIED", "SRC_USER", "SRC_IP", "APP_NAME", "TENANT_ID", "C_DESC", "C_USE", "EFFECT", "TYPE", "C_SCHEMA", "ENCRYPTED_DATA_KEY") +VALUES(<"ID", BIGINT>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"CONTENT", CLOB>, <"MD5", VARCHAR(32)>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>, <"SRC_USER", TEXT>, <"SRC_IP", VARCHAR(50)>, <"APP_NAME", VARCHAR(128)>, <"TENANT_ID", VARCHAR(128)>, <"C_DESC", VARCHAR(256)>, <"C_USE", VARCHAR(64)>, <"EFFECT", VARCHAR(64)>, <"TYPE", VARCHAR(64)>, <"C_SCHEMA", TEXT>, <"ENCRYPTED_DATA_KEY", TEXT>); + +insert into "NACOS"."CONFIG_INFO_AGGR"("ID", "DATA_ID", "GROUP_ID", "DATUM_ID", "CONTENT", "GMT_MODIFIED", "APP_NAME", "TENANT_ID") +VALUES(<"ID", BIGINT>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"DATUM_ID", VARCHAR(255)>, <"CONTENT", CLOB>, <"GMT_MODIFIED", TIMESTAMP(0)>, <"APP_NAME", VARCHAR(128)>, <"TENANT_ID", VARCHAR(128)>); + +insert into "NACOS"."CONFIG_INFO_BETA"("ID", "DATA_ID", "GROUP_ID", "APP_NAME", "CONTENT", "BETA_IPS", "MD5", "GMT_CREATE", "GMT_MODIFIED", "SRC_USER", "SRC_IP", "TENANT_ID", "ENCRYPTED_DATA_KEY") +VALUES(<"ID", BIGINT>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"APP_NAME", VARCHAR(128)>, <"CONTENT", CLOB>, <"BETA_IPS", VARCHAR(1024)>, <"MD5", VARCHAR(32)>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>, <"SRC_USER", TEXT>, <"SRC_IP", VARCHAR(50)>, <"TENANT_ID", VARCHAR(128)>, <"ENCRYPTED_DATA_KEY", TEXT>); + +insert into "NACOS"."CONFIG_INFO_TAG"("ID", "DATA_ID", "GROUP_ID", "TENANT_ID", "TAG_ID", "APP_NAME", "CONTENT", "MD5", "GMT_CREATE", "GMT_MODIFIED", "SRC_USER", "SRC_IP") +VALUES(<"ID", BIGINT>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"TENANT_ID", VARCHAR(128)>, <"TAG_ID", VARCHAR(128)>, <"APP_NAME", VARCHAR(128)>, <"CONTENT", CLOB>, <"MD5", VARCHAR(32)>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>, <"SRC_USER", TEXT>, <"SRC_IP", VARCHAR(50)>); + +insert into "NACOS"."CONFIG_TAGS_RELATION"("ID", "TAG_NAME", "TAG_TYPE", "DATA_ID", "GROUP_ID", "TENANT_ID", "NID") +VALUES(<"ID", BIGINT>, <"TAG_NAME", VARCHAR(128)>, <"TAG_TYPE", VARCHAR(64)>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"TENANT_ID", VARCHAR(128)>, <"NID", BIGINT>); + +insert into "NACOS"."GROUP_CAPACITY"("ID", "GROUP_ID", "QUOTA", "USAGE", "MAX_SIZE", "MAX_AGGR_COUNT", "MAX_AGGR_SIZE", "MAX_HISTORY_COUNT", "GMT_CREATE", "GMT_MODIFIED") +VALUES(<"ID", BIGINT>, <"GROUP_ID", VARCHAR(128)>, <"QUOTA", BIGINT>, <"USAGE", BIGINT>, <"MAX_SIZE", BIGINT>, <"MAX_AGGR_COUNT", BIGINT>, <"MAX_AGGR_SIZE", BIGINT>, <"MAX_HISTORY_COUNT", BIGINT>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>); + +insert into "NACOS"."HIS_CONFIG_INFO"("ID", "NID", "DATA_ID", "GROUP_ID", "APP_NAME", "CONTENT", "MD5", "GMT_CREATE", "GMT_MODIFIED", "SRC_USER", "SRC_IP", "OP_TYPE", "TENANT_ID", "ENCRYPTED_DATA_KEY") +VALUES(<"ID", DECIMAL(20, 0)>, <"NID", BIGINT>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"APP_NAME", VARCHAR(128)>, <"CONTENT", CLOB>, <"MD5", VARCHAR(32)>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>, <"SRC_USER", TEXT>, <"SRC_IP", VARCHAR(50)>, <"OP_TYPE", CHAR(10)>, <"TENANT_ID", VARCHAR(128)>, <"ENCRYPTED_DATA_KEY", TEXT>); + +insert into "NACOS"."PERMISSIONS"("ROLE", "RESOURCE", "ACTION") +VALUES(<"ROLE", VARCHAR(50)>, <"RESOURCE", VARCHAR(255)>, <"ACTION", VARCHAR(8)>); + +insert into "NACOS"."ROLES"("USERNAME", "ROLE") +VALUES(<"USERNAME", VARCHAR(50)>, <"ROLE", VARCHAR(50)>); + +insert into "NACOS"."TENANT_CAPACITY"("ID", "TENANT_ID", "QUOTA", "USAGE", "MAX_SIZE", "MAX_AGGR_COUNT", "MAX_AGGR_SIZE", "MAX_HISTORY_COUNT", "GMT_CREATE", "GMT_MODIFIED") +VALUES(<"ID", BIGINT>, <"TENANT_ID", VARCHAR(128)>, <"QUOTA", BIGINT>, <"USAGE", BIGINT>, <"MAX_SIZE", BIGINT>, <"MAX_AGGR_COUNT", BIGINT>, <"MAX_AGGR_SIZE", BIGINT>, <"MAX_HISTORY_COUNT", BIGINT>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>); + +insert into "NACOS"."TENANT_INFO"("ID", "KP", "TENANT_ID", "TENANT_NAME", "TENANT_DESC", "CREATE_SOURCE", "GMT_CREATE", "GMT_MODIFIED") +VALUES(<"ID", BIGINT>, <"KP", VARCHAR(128)>, <"TENANT_ID", VARCHAR(128)>, <"TENANT_NAME", VARCHAR(128)>, <"TENANT_DESC", VARCHAR(256)>, <"CREATE_SOURCE", VARCHAR(32)>, <"GMT_CREATE", BIGINT>, <"GMT_MODIFIED", BIGINT>); + +insert into "NACOS"."USERS"("USERNAME", "PASSWORD", "ENABLED") +VALUES(<"USERNAME", VARCHAR(50)>, <"PASSWORD", VARCHAR(500)>, <"ENABLED", TINYINT>); + diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml index 7a043c5af..612d20147 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml @@ -35,6 +35,7 @@ 2.17.0 + 8.1.1.49 @@ -49,22 +50,34 @@ org.jeecgframework.nacos nacos-naming - 2.2.3 + 2.3.2 org.jeecgframework.nacos nacos-istio - 2.2.3 + 2.3.2 org.jeecgframework.nacos nacos-config - 2.2.3 + 2.3.2 org.jeecgframework.nacos nacos-console - 2.2.3 + 2.3.2 + + + + + com.dameng + Dm8JdbcDriver18 + ${dm8.version} + + + com.dameng + DmDialect-for-hibernate5.0 + ${dm8.version} diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-dm.yml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-dm.yml new file mode 100644 index 000000000..f11246eb5 --- /dev/null +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-dm.yml @@ -0,0 +1,63 @@ +server: + servlet: + contextPath: /nacos + tomcat: + accesslog: + enabled: true + pattern: '%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i' + basedir: '' +spring: + sql: + init: + platform: dm +db: + pool: + config: + driverClassName: dm.jdbc.driver.DmDriver + num: 1 + password: + '0': SYSDBA + url: + '0': jdbc:dm://192.168.1.188:30236/DMSERVER?schema=NACOS&compatibleMode=mysql&ignoreCase=true&ENCODING=utf-8 + user: + '0': SYSDBA +management: + metrics: + export: + elastic: + enabled: false + influx: + enabled: false +nacos: + core: + auth: + enabled: false + caching: + enabled: true + server: + identity: + key: example + value: example + plugin: + nacos: + token: + expire: + seconds: 18000 + secret: + key: SecretKey01234567890123456789012345345678999987654901234567890123456789 + system: + type: nacos + istio: + mcp: + server: + enabled: false + naming: + empty-service: + auto-clean: true + clean: + initial-delay-ms: 50000 + period-time-ms: 30000 + security: + ignore: + urls: /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** + standalone: true \ No newline at end of file diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml new file mode 100644 index 000000000..7e601e91e --- /dev/null +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml @@ -0,0 +1,60 @@ +server: + servlet: + contextPath: /nacos + tomcat: + accesslog: + enabled: true + pattern: '%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i' + basedir: '' +spring: + sql: + init: + platform: mysql +db: + num: 1 + password: + '0': ${MYSQL-PWD:root} + url: + '0': jdbc:mysql://${MYSQL-HOST:jeecg-boot-mysql}:${MYSQL-PORT:3306}/${MYSQL-DB:nacos-os}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true + user: + '0': ${MYSQL-USER:root} +management: + metrics: + export: + elastic: + enabled: false + influx: + enabled: false +nacos: + core: + auth: + enabled: false + caching: + enabled: true + server: + identity: + key: example + value: example + plugin: + nacos: + token: + expire: + seconds: 18000 + secret: + key: SecretKey01234567890123456789012345345678999987654901234567890123456789 + system: + type: nacos + istio: + mcp: + server: + enabled: false + naming: + empty-service: + auto-clean: true + clean: + initial-delay-ms: 50000 + period-time-ms: 30000 + security: + ignore: + urls: /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** + standalone: true \ No newline at end of file diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml index 6ba8e5e9a..d27de03f4 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml @@ -1,60 +1,3 @@ -server: - servlet: - contextPath: /nacos - tomcat: - accesslog: - enabled: true - pattern: '%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i' - basedir: '' spring: - sql: - init: - platform: mysql -db: - num: 1 - password: - '0': ${MYSQL-PWD:root} - url: - '0': jdbc:mysql://${MYSQL-HOST:jeecg-boot-mysql}:${MYSQL-PORT:3306}/${MYSQL-DB:nacos}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true - user: - '0': ${MYSQL-USER:root} -management: - metrics: - export: - elastic: - enabled: false - influx: - enabled: false -nacos: - core: - auth: - enabled: false - caching: - enabled: true - server: - identity: - key: example - value: example - plugin: - nacos: - token: - expire: - seconds: 18000 - secret: - key: SecretKey01234567890123456789012345345678999987654901234567890123456789 - system: - type: nacos - istio: - mcp: - server: - enabled: false - naming: - empty-service: - auto-clean: true - clean: - initial-delay-ms: 50000 - period-time-ms: 30000 - security: - ignore: - urls: /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/** - standalone: true \ No newline at end of file + profiles: + active: dm \ No newline at end of file From ec93d615f4951d61fb8fd8a0aa0d6b657ea6e9f9 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Tue, 9 Jul 2024 14:46:22 +0800 Subject: [PATCH 038/108] =?UTF-8?q?nacos=E9=BB=98=E8=AE=A4mysql=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeecg-cloud-nacos/src/main/resources/application-mysql.yml | 2 +- .../jeecg-cloud-nacos/src/main/resources/application.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml index 7e601e91e..6ba8e5e9a 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml @@ -15,7 +15,7 @@ db: password: '0': ${MYSQL-PWD:root} url: - '0': jdbc:mysql://${MYSQL-HOST:jeecg-boot-mysql}:${MYSQL-PORT:3306}/${MYSQL-DB:nacos-os}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true + '0': jdbc:mysql://${MYSQL-HOST:jeecg-boot-mysql}:${MYSQL-PORT:3306}/${MYSQL-DB:nacos}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true user: '0': ${MYSQL-USER:root} management: diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml index d27de03f4..dc1be31b2 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml @@ -1,3 +1,3 @@ spring: profiles: - active: dm \ No newline at end of file + active: mysql \ No newline at end of file From 11ac3875594e7b770293b839e8a08742a9c4bedb Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Tue, 9 Jul 2024 18:02:34 +0800 Subject: [PATCH 039/108] =?UTF-8?q?=E8=BE=BE=E6=A2=A6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E7=9A=84nacos=E5=88=9D=E5=A7=8B=E5=8C=96=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeecg-cloud-nacos/docs/db/nacos_dm.sql | 3522 +++++++++++++++-- 1 file changed, 3235 insertions(+), 287 deletions(-) diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql index cdf6320bb..b2b52baa7 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql @@ -1,327 +1,3275 @@ CREATE TABLE "NACOS"."CONFIG_INFO" ( -"ID" BIGINT IDENTITY(1, 1) NOT NULL, -"DATA_ID" VARCHAR(255) NOT NULL, -"GROUP_ID" VARCHAR(128), -"CONTENT" CLOB NOT NULL, -"MD5" VARCHAR(32), -"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -"SRC_USER" TEXT, -"SRC_IP" VARCHAR(50), -"APP_NAME" VARCHAR(128), -"TENANT_ID" VARCHAR(128) DEFAULT '', -"C_DESC" VARCHAR(256), -"C_USE" VARCHAR(64), -"EFFECT" VARCHAR(64), -"TYPE" VARCHAR(64), -"C_SCHEMA" TEXT, -"ENCRYPTED_DATA_KEY" TEXT NOT NULL, -NOT CLUSTER PRIMARY KEY("ID"), -CONSTRAINT "UK_CONFIGINFO_DATAGROUPTENANT" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; - -COMMENT ON TABLE "NACOS"."CONFIG_INFO" IS 'config_info'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."CONTENT" IS 'content'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."DATA_ID" IS 'data_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."ENCRYPTED_DATA_KEY" IS '密钥'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."GMT_CREATE" IS '创建时间'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."GMT_MODIFIED" IS '修改时间'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."ID" IS 'id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."MD5" IS 'md5'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."SRC_IP" IS 'source ip'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."SRC_USER" IS 'source user'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."TENANT_ID" IS '租户字段'; - - + "ID" BIGINT IDENTITY(1,1) NOT NULL, + "DATA_ID" VARCHAR(255) NOT NULL, + "GROUP_ID" VARCHAR(128) NULL, + "CONTENT" CLOB NOT NULL, + "MD5" VARCHAR(32) NULL, + "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL, + "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL, + "SRC_USER" TEXT NULL, + "SRC_IP" VARCHAR(50) NULL, + "APP_NAME" VARCHAR(128) NULL, + "TENANT_ID" VARCHAR(128) DEFAULT '' + NULL, + "C_DESC" VARCHAR(256) NULL, + "C_USE" VARCHAR(64) NULL, + "EFFECT" VARCHAR(64) NULL, + "TYPE" VARCHAR(64) NULL, + "C_SCHEMA" TEXT NULL, + "ENCRYPTED_DATA_KEY" TEXT NOT NULL +); CREATE TABLE "NACOS"."CONFIG_INFO_AGGR" ( -"ID" BIGINT IDENTITY(1, 1) NOT NULL, -"DATA_ID" VARCHAR(255) NOT NULL, -"GROUP_ID" VARCHAR(128) NOT NULL, -"DATUM_ID" VARCHAR(255) NOT NULL, -"CONTENT" CLOB NOT NULL, -"GMT_MODIFIED" TIMESTAMP(0) NOT NULL, -"APP_NAME" VARCHAR(128), -"TENANT_ID" VARCHAR(128) DEFAULT '', -NOT CLUSTER PRIMARY KEY("ID"), -CONSTRAINT "UK_CONFIGINFOAGGR_DATAGROUPTENANTDATUM" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID", "DATUM_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; - -COMMENT ON TABLE "NACOS"."CONFIG_INFO_AGGR" IS '增加租户字段'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."CONTENT" IS '内容'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."DATA_ID" IS 'data_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."DATUM_ID" IS 'datum_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."GMT_MODIFIED" IS '修改时间'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."GROUP_ID" IS 'group_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."ID" IS 'id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."TENANT_ID" IS '租户字段'; - - + "ID" BIGINT IDENTITY(1,1) NOT NULL, + "DATA_ID" VARCHAR(255) NOT NULL, + "GROUP_ID" VARCHAR(128) NOT NULL, + "DATUM_ID" VARCHAR(255) NOT NULL, + "CONTENT" CLOB NOT NULL, + "GMT_MODIFIED" TIMESTAMP(0) NOT NULL, + "APP_NAME" VARCHAR(128) NULL, + "TENANT_ID" VARCHAR(128) DEFAULT '' + NULL +); CREATE TABLE "NACOS"."CONFIG_INFO_BETA" ( -"ID" BIGINT IDENTITY(1, 1) NOT NULL, -"DATA_ID" VARCHAR(255) NOT NULL, -"GROUP_ID" VARCHAR(128) NOT NULL, -"APP_NAME" VARCHAR(128), -"CONTENT" CLOB NOT NULL, -"BETA_IPS" VARCHAR(1024), -"MD5" VARCHAR(32), -"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -"SRC_USER" TEXT, -"SRC_IP" VARCHAR(50), -"TENANT_ID" VARCHAR(128) DEFAULT '', -"ENCRYPTED_DATA_KEY" TEXT NOT NULL, -NOT CLUSTER PRIMARY KEY("ID"), -CONSTRAINT "UK_CONFIGINFOBETA_DATAGROUPTENANT" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; - -COMMENT ON TABLE "NACOS"."CONFIG_INFO_BETA" IS 'config_info_beta'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."APP_NAME" IS 'app_name'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."BETA_IPS" IS 'betaIps'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."CONTENT" IS 'content'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."DATA_ID" IS 'data_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."ENCRYPTED_DATA_KEY" IS '密钥'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GMT_CREATE" IS '创建时间'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GMT_MODIFIED" IS '修改时间'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GROUP_ID" IS 'group_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."ID" IS 'id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."MD5" IS 'md5'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."SRC_IP" IS 'source ip'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."SRC_USER" IS 'source user'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."TENANT_ID" IS '租户字段'; - - + "ID" BIGINT IDENTITY(1,1) NOT NULL, + "DATA_ID" VARCHAR(255) NOT NULL, + "GROUP_ID" VARCHAR(128) NOT NULL, + "APP_NAME" VARCHAR(128) NULL, + "CONTENT" CLOB NOT NULL, + "BETA_IPS" VARCHAR(1024) NULL, + "MD5" VARCHAR(32) NULL, + "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL, + "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL, + "SRC_USER" TEXT NULL, + "SRC_IP" VARCHAR(50) NULL, + "TENANT_ID" VARCHAR(128) DEFAULT '' + NULL, + "ENCRYPTED_DATA_KEY" TEXT NOT NULL +); CREATE TABLE "NACOS"."CONFIG_INFO_TAG" ( -"ID" BIGINT IDENTITY(1, 1) NOT NULL, -"DATA_ID" VARCHAR(255) NOT NULL, -"GROUP_ID" VARCHAR(128) NOT NULL, -"TENANT_ID" VARCHAR(128) DEFAULT '', -"TAG_ID" VARCHAR(128) NOT NULL, -"APP_NAME" VARCHAR(128), -"CONTENT" CLOB NOT NULL, -"MD5" VARCHAR(32), -"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -"SRC_USER" TEXT, -"SRC_IP" VARCHAR(50), -NOT CLUSTER PRIMARY KEY("ID"), -CONSTRAINT "UK_CONFIGINFOTAG_DATAGROUPTENANTTAG" UNIQUE("DATA_ID", "GROUP_ID", "TENANT_ID", "TAG_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; - -COMMENT ON TABLE "NACOS"."CONFIG_INFO_TAG" IS 'config_info_tag'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."APP_NAME" IS 'app_name'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."CONTENT" IS 'content'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."DATA_ID" IS 'data_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GMT_CREATE" IS '创建时间'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GMT_MODIFIED" IS '修改时间'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GROUP_ID" IS 'group_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."ID" IS 'id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."MD5" IS 'md5'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."SRC_IP" IS 'source ip'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."SRC_USER" IS 'source user'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."TAG_ID" IS 'tag_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."TENANT_ID" IS 'tenant_id'; - - + "ID" BIGINT IDENTITY(1,1) NOT NULL, + "DATA_ID" VARCHAR(255) NOT NULL, + "GROUP_ID" VARCHAR(128) NOT NULL, + "TENANT_ID" VARCHAR(128) DEFAULT '' + NULL, + "TAG_ID" VARCHAR(128) NOT NULL, + "APP_NAME" VARCHAR(128) NULL, + "CONTENT" CLOB NOT NULL, + "MD5" VARCHAR(32) NULL, + "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL, + "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL, + "SRC_USER" TEXT NULL, + "SRC_IP" VARCHAR(50) NULL +); CREATE TABLE "NACOS"."CONFIG_TAGS_RELATION" ( -"ID" BIGINT NOT NULL, -"TAG_NAME" VARCHAR(128) NOT NULL, -"TAG_TYPE" VARCHAR(64), -"DATA_ID" VARCHAR(255) NOT NULL, -"GROUP_ID" VARCHAR(128) NOT NULL, -"TENANT_ID" VARCHAR(128) DEFAULT '', -"NID" BIGINT IDENTITY(1, 1) NOT NULL, -NOT CLUSTER PRIMARY KEY("NID"), -CONSTRAINT "UK_CONFIGTAGRELATION_CONFIGIDTAG" UNIQUE("ID", "TAG_NAME", "TAG_TYPE")) STORAGE(ON "MAIN", CLUSTERBTR) ; - -COMMENT ON TABLE "NACOS"."CONFIG_TAGS_RELATION" IS 'config_tag_relation'; -COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."DATA_ID" IS 'data_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."GROUP_ID" IS 'group_id'; -COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."ID" IS 'id'; -COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TAG_NAME" IS 'tag_name'; -COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TAG_TYPE" IS 'tag_type'; -COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TENANT_ID" IS 'tenant_id'; - - + "ID" BIGINT NOT NULL, + "TAG_NAME" VARCHAR(128) NOT NULL, + "TAG_TYPE" VARCHAR(64) NULL, + "DATA_ID" VARCHAR(255) NOT NULL, + "GROUP_ID" VARCHAR(128) NOT NULL, + "TENANT_ID" VARCHAR(128) DEFAULT '' + NULL, + "NID" BIGINT IDENTITY(1,1) NOT NULL +); CREATE TABLE "NACOS"."GROUP_CAPACITY" ( -"ID" BIGINT IDENTITY(1, 1) NOT NULL, -"GROUP_ID" VARCHAR(128) DEFAULT '' NOT NULL, -"QUOTA" BIGINT DEFAULT 0 NOT NULL, -"USAGE" BIGINT DEFAULT 0 NOT NULL, -"MAX_SIZE" BIGINT DEFAULT 0 NOT NULL, -"MAX_AGGR_COUNT" BIGINT DEFAULT 0 NOT NULL, -"MAX_AGGR_SIZE" BIGINT DEFAULT 0 NOT NULL, -"MAX_HISTORY_COUNT" BIGINT DEFAULT 0 NOT NULL, -"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -NOT CLUSTER PRIMARY KEY("ID"), -CONSTRAINT "UK_GROUP_ID" UNIQUE("GROUP_ID"), -CHECK("QUOTA" >= 0) -,CHECK("MAX_HISTORY_COUNT" >= 0) -,CHECK("MAX_AGGR_SIZE" >= 0) -,CHECK("MAX_AGGR_COUNT" >= 0) -,CHECK("MAX_SIZE" >= 0) -,CHECK("USAGE" >= 0)) STORAGE(ON "MAIN", CLUSTERBTR) ; - -COMMENT ON TABLE "NACOS"."GROUP_CAPACITY" IS '集群、各Group容量信息表'; -COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GMT_CREATE" IS '创建时间'; -COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GMT_MODIFIED" IS '修改时间'; -COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GROUP_ID" IS 'Group ID,空字符表示整个集群'; -COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."ID" IS '主键ID'; -COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_AGGR_COUNT" IS '聚合子配置最大个数,,0表示使用默认值'; -COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_AGGR_SIZE" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值'; -COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_HISTORY_COUNT" IS '最大变更历史数量'; -COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_SIZE" IS '单个配置大小上限,单位为字节,0表示使用默认值'; -COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."QUOTA" IS '配额,0表示使用默认值'; -COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."USAGE" IS '使用量'; - - + "ID" BIGINT IDENTITY(1,1) NOT NULL, + "GROUP_ID" VARCHAR(128) DEFAULT '' + NOT NULL, + "QUOTA" BIGINT DEFAULT 0 + NOT NULL, + "USAGE" BIGINT DEFAULT 0 + NOT NULL, + "MAX_SIZE" BIGINT DEFAULT 0 + NOT NULL, + "MAX_AGGR_COUNT" BIGINT DEFAULT 0 + NOT NULL, + "MAX_AGGR_SIZE" BIGINT DEFAULT 0 + NOT NULL, + "MAX_HISTORY_COUNT" BIGINT DEFAULT 0 + NOT NULL, + "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL, + "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL +); CREATE TABLE "NACOS"."HIS_CONFIG_INFO" ( -"ID" DECIMAL(20,0) NOT NULL, -"NID" BIGINT IDENTITY(1, 1) NOT NULL, -"DATA_ID" VARCHAR(255) NOT NULL, -"GROUP_ID" VARCHAR(128) NOT NULL, -"APP_NAME" VARCHAR(128), -"CONTENT" CLOB NOT NULL, -"MD5" VARCHAR(32), -"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -"SRC_USER" TEXT, -"SRC_IP" VARCHAR(50), -"OP_TYPE" CHAR(10), -"TENANT_ID" VARCHAR(128) DEFAULT '', -"ENCRYPTED_DATA_KEY" TEXT NOT NULL, -NOT CLUSTER PRIMARY KEY("NID"), -CHECK("ID" >= 0)) STORAGE(ON "MAIN", CLUSTERBTR) ; - -COMMENT ON TABLE "NACOS"."HIS_CONFIG_INFO" IS '多租户改造'; -COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."APP_NAME" IS 'app_name'; -COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."ENCRYPTED_DATA_KEY" IS '密钥'; -COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."TENANT_ID" IS '租户字段'; - - -CREATE OR REPLACE INDEX "IDX_GMT_MODIFIED" ON "NACOS"."HIS_CONFIG_INFO"("GMT_MODIFIED" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ; -CREATE OR REPLACE INDEX "IDX_GMT_CREATE" ON "NACOS"."HIS_CONFIG_INFO"("GMT_CREATE" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ; -CREATE OR REPLACE INDEX "IDX_DID" ON "NACOS"."HIS_CONFIG_INFO"("DATA_ID" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ; - + "ID" DECIMAL(20,0) NOT NULL, + "NID" BIGINT IDENTITY(1,1) NOT NULL, + "DATA_ID" VARCHAR(255) NOT NULL, + "GROUP_ID" VARCHAR(128) NOT NULL, + "APP_NAME" VARCHAR(128) NULL, + "CONTENT" CLOB NOT NULL, + "MD5" VARCHAR(32) NULL, + "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL, + "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL, + "SRC_USER" TEXT NULL, + "SRC_IP" VARCHAR(50) NULL, + "OP_TYPE" CHAR(10) NULL, + "TENANT_ID" VARCHAR(128) DEFAULT '' + NULL, + "ENCRYPTED_DATA_KEY" TEXT NOT NULL +); CREATE TABLE "NACOS"."PERMISSIONS" ( -"ROLE" VARCHAR(50) NOT NULL, -"RESOURCE" VARCHAR(255) NOT NULL, -"ACTION" VARCHAR(8) NOT NULL, -CONSTRAINT "UK_ROLE_PERMISSION" UNIQUE("ROLE", "RESOURCE", "ACTION")) STORAGE(ON "MAIN", CLUSTERBTR) ; - + "ROLE" VARCHAR(50) NOT NULL, + "RESOURCE" VARCHAR(255) NOT NULL, + "ACTION" VARCHAR(8) NOT NULL +); CREATE TABLE "NACOS"."ROLES" ( -"USERNAME" VARCHAR(50) NOT NULL, -"ROLE" VARCHAR(50) NOT NULL, -CONSTRAINT "IDX_USER_ROLE" UNIQUE("USERNAME", "ROLE")) STORAGE(ON "MAIN", CLUSTERBTR) ; - + "USERNAME" VARCHAR(50) NOT NULL, + "ROLE" VARCHAR(50) NOT NULL +); CREATE TABLE "NACOS"."TENANT_CAPACITY" ( -"ID" BIGINT IDENTITY(1, 1) NOT NULL, -"TENANT_ID" VARCHAR(128) DEFAULT '' NOT NULL, -"QUOTA" BIGINT DEFAULT 0 NOT NULL, -"USAGE" BIGINT DEFAULT 0 NOT NULL, -"MAX_SIZE" BIGINT DEFAULT 0 NOT NULL, -"MAX_AGGR_COUNT" BIGINT DEFAULT 0 NOT NULL, -"MAX_AGGR_SIZE" BIGINT DEFAULT 0 NOT NULL, -"MAX_HISTORY_COUNT" BIGINT DEFAULT 0 NOT NULL, -"GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -"GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() NOT NULL, -NOT CLUSTER PRIMARY KEY("ID"), -CONSTRAINT "UK_TENANT_ID" UNIQUE("TENANT_ID"), -CHECK("QUOTA" >= 0) -,CHECK("MAX_HISTORY_COUNT" >= 0) -,CHECK("MAX_AGGR_SIZE" >= 0) -,CHECK("MAX_AGGR_COUNT" >= 0) -,CHECK("MAX_SIZE" >= 0) -,CHECK("USAGE" >= 0)) STORAGE(ON "MAIN", CLUSTERBTR) ; - -COMMENT ON TABLE "NACOS"."TENANT_CAPACITY" IS '租户容量信息表'; -COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."GMT_CREATE" IS '创建时间'; -COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."GMT_MODIFIED" IS '修改时间'; -COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."ID" IS '主键ID'; -COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_AGGR_COUNT" IS '聚合子配置最大个数'; -COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_AGGR_SIZE" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值'; -COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_HISTORY_COUNT" IS '最大变更历史数量'; -COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_SIZE" IS '单个配置大小上限,单位为字节,0表示使用默认值'; -COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."QUOTA" IS '配额,0表示使用默认值'; -COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."TENANT_ID" IS 'Tenant ID'; -COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."USAGE" IS '使用量'; - - + "ID" BIGINT IDENTITY(1,1) NOT NULL, + "TENANT_ID" VARCHAR(128) DEFAULT '' + NOT NULL, + "QUOTA" BIGINT DEFAULT 0 + NOT NULL, + "USAGE" BIGINT DEFAULT 0 + NOT NULL, + "MAX_SIZE" BIGINT DEFAULT 0 + NOT NULL, + "MAX_AGGR_COUNT" BIGINT DEFAULT 0 + NOT NULL, + "MAX_AGGR_SIZE" BIGINT DEFAULT 0 + NOT NULL, + "MAX_HISTORY_COUNT" BIGINT DEFAULT 0 + NOT NULL, + "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL, + "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP() + NOT NULL +); CREATE TABLE "NACOS"."TENANT_INFO" ( -"ID" BIGINT IDENTITY(1, 1) NOT NULL, -"KP" VARCHAR(128) NOT NULL, -"TENANT_ID" VARCHAR(128) DEFAULT '', -"TENANT_NAME" VARCHAR(128) DEFAULT '', -"TENANT_DESC" VARCHAR(256), -"CREATE_SOURCE" VARCHAR(32), -"GMT_CREATE" BIGINT NOT NULL, -"GMT_MODIFIED" BIGINT NOT NULL, -NOT CLUSTER PRIMARY KEY("ID"), -CONSTRAINT "UK_TENANT_INFO_KPTENANTID" UNIQUE("KP", "TENANT_ID")) STORAGE(ON "MAIN", CLUSTERBTR) ; - -COMMENT ON TABLE "NACOS"."TENANT_INFO" IS 'tenant_info'; -COMMENT ON COLUMN "NACOS"."TENANT_INFO"."CREATE_SOURCE" IS 'create_source'; -COMMENT ON COLUMN "NACOS"."TENANT_INFO"."GMT_CREATE" IS '创建时间'; -COMMENT ON COLUMN "NACOS"."TENANT_INFO"."GMT_MODIFIED" IS '修改时间'; -COMMENT ON COLUMN "NACOS"."TENANT_INFO"."ID" IS 'id'; -COMMENT ON COLUMN "NACOS"."TENANT_INFO"."KP" IS 'kp'; -COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_DESC" IS 'tenant_desc'; -COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_ID" IS 'tenant_id'; -COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_NAME" IS 'tenant_name'; - - -CREATE OR REPLACE INDEX "IDX_TENANT_ID" ON "NACOS"."TENANT_INFO"("TENANT_ID" ASC) STORAGE(ON "MAIN", CLUSTERBTR) ; - + "ID" BIGINT IDENTITY(1,1) NOT NULL, + "KP" VARCHAR(128) NOT NULL, + "TENANT_ID" VARCHAR(128) DEFAULT '' + NULL, + "TENANT_NAME" VARCHAR(128) DEFAULT '' + NULL, + "TENANT_DESC" VARCHAR(256) NULL, + "CREATE_SOURCE" VARCHAR(32) NULL, + "GMT_CREATE" BIGINT NOT NULL, + "GMT_MODIFIED" BIGINT NOT NULL +); CREATE TABLE "NACOS"."USERS" ( -"USERNAME" VARCHAR(50) NOT NULL, -"PASSWORD" VARCHAR(500) NOT NULL, -"ENABLED" TINYINT NOT NULL, -NOT CLUSTER PRIMARY KEY("USERNAME")) STORAGE(ON "MAIN", CLUSTERBTR) ; + "USERNAME" VARCHAR(50) NOT NULL, + "PASSWORD" VARCHAR(500) NOT NULL, + "ENABLED" TINYINT NOT NULL +); +SET IDENTITY_INSERT "NACOS"."CONFIG_INFO" ON; +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(2,'jeecg-dev.yaml','DEFAULT_GROUP','spring: + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: 123456 + allow: + web-stat-filter: + enabled: true + dynamic: + druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置) + # 连接池的配置信息 + # 初始化大小,最小,最大 + initial-size: 5 + min-idle: 5 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + # 打开PSCache,并且指定每个连接上PSCache的大小 + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,''wall''用于防火墙 + filters: stat,wall,slf4j + wall: + selectWhereAlwayTrueCheck: false + stat: + merge-sql: true + slow-sql-millis: 5000 + datasource: + master: + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecgbootsy3_6?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + username: root + password: root + driver-class-name: com.mysql.cj.jdbc.Driver + # 多数据源配置 + #multi-datasource1: + #url: jdbc:mysql://localhost:3306/jeecgboot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + #username: root + #password: root + #driver-class-name: com.mysql.cj.jdbc.Driver + #redis 配置 + redis: + database: 0 + host: jeecg-boot-redis + lettuce: + pool: + max-active: 8 #最大连接数据库连接数,设 0 为没有限制 + max-idle: 8 #最大等待连接中的数量,设 0 为没有限制 + max-wait: -1ms #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。 + min-idle: 0 #最小等待连接中的数量,设 0 为没有限制 + shutdown-timeout: 100ms + password: + port: 6379 + #mongodb + data: + mongodb: + #有密码连接 账号密码包含特殊字符的需要用URLEncoder编码 库名必填 + #uri: mongodb://jeecgdev:jeecgd_89@111.225.222.176:27017/jeecgdev + uri: mongodb://jeecg:123456@jeecg-boot-mongo:27017/jeecg?readPreference=secondaryPreferred&maxIdleTimeMS=60000&waitQueueTimeoutMS=2000&minPoolSize=5&maxPoolSize=100&maxLifeTimeMS=0&connectTimeoutMS=2000&socketTimeoutMS=2000 + #集群方式 + #uri: mongodb://192.168.0.221:27017,192.168.0.221:27018/imgdb + print: true #是否打印查询语句 + slowQuery: true #是否记录慢查询到数据库中 + slowTime: 1000 #慢查询最短时间,默认为1000毫秒 + #rabbitmq配置 + rabbitmq: + host: jeecg-boot-rabbitmq + username: guest + password: guest + port: 5672 + publisher-confirms: true + publisher-returns: true + virtual-host: / + listener: + simple: + acknowledge-mode: manual + #消费者的最小数量 + concurrency: 1 + #消费者的最大数量 + max-concurrency: 1 + #是否支持重试 + retry: + enabled: true +#jeecg专用配置 +minidao: + base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.* +jeecg: + firewall: + dataSourceSafe: false + lowCodeMode: dev + # 签名密钥串(前后端要一致,正式发布请自行修改) + signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a + # 本地:local\Minio:minio\阿里云:alioss + uploadType: local + # 前端访问地址 + domainUrl: + pc: http://localhost:3100 + app: http://localhost:8051 + path : + #文件上传根目录 设置 + upload: /opt/upFiles + #webapp文件路径 + webapp: /opt/webapp + shiro: + excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/bigscreen/category/**,/bigscreen/visual/**,/bigscreen/map/**,/jmreport/bigscreen2/** + #阿里云oss存储配置 + oss: + endpoint: oss-cn-beijing.aliyuncs.com + accessKey: ?? + secretKey: ?? + bucketName: jeecgdev + staticDomain: ?? + # ElasticSearch 6设置 + elasticsearch: + cluster-name: jeecg-ES + cluster-nodes: 127.0.0.1:9200 + check-enabled: false + # 表单设计器配置 + desform: + # 主题颜色(仅支持 16进制颜色代码) + theme-color: "#1890ff" + # 文件、图片上传方式,可选项:qiniu(七牛云)、system(跟随系统配置) + upload-type: system + map: + # 配置百度地图的AK,申请地址:https://lbs.baidu.com/apiconsole/key?application=key#/home + baidu: ?? + # 在线预览文件服务器地址配置 + file-view-domain: 127.0.0.1:8012 + # minio文件上传 + minio: + minio_url: http://minio.jeecg.com + minio_name: ?? + minio_pass: ?? + bucketName: otatest + #大屏报表参数设置 + jmreport: + saasMode: + firewall: + dataSourceSafe: false + lowCodeMode: dev + ai-chat: + enabled: false + apiKey: "????" + apiHost: "https://api.openai.com" + timeout: 60 + #Wps在线文档 + wps: + domain: https://wwo.wps.cn/office/ + appid: ?? + appsecret: ?? + #xxl-job配置 + xxljob: + enabled: false + adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin + appname: ${spring.application.name} + accessToken: '''' + logPath: logs/jeecg/job/jobhandler/ + logRetentionDays: 30 + #分布式锁配置 + redisson: + address: jeecg-boot-redis:6379 + password: + type: STANDALONE + enabled: true +#Mybatis输出sql日志 +logging: + level: + org.jeecg.modules.system.mapper: info +#cas单点登录 +cas: + prefixUrl: http://localhost:8888/cas +#swagger +knife4j: + enable: true + #开启生产环境屏蔽 + production: false + basic: + enable: false + username: jeecg + password: jeecg1314 +#第三方登录 +justauth: + enabled: true + type: + GITHUB: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback + WECHAT_ENTERPRISE: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback + agent-id: 1000002 + DINGTALK: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback + cache: + type: default + prefix: ''demo::'' + timeout: 1h +#第三方APP对接 +third-app: + enabled: false + type: + #企业微信 + WECHAT_ENTERPRISE: + enabled: false + #CORP_ID + client-id: ?? + #SECRET + client-secret: ?? + agent-id: ?? + #自建应用秘钥(新版企微需要配置) + # agent-app-secret: ?? + #钉钉 + DINGTALK: + enabled: false + # appKey + client-id: ?? + # appSecret + client-secret: ?? + agent-id: ??','350e31a280673586f2203956da576136',TO_DATE('2024-07-09 14:30:06','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:06','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','','',null,null,'yaml',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(3,'jeecg.yaml','DEFAULT_GROUP','server: + tomcat: + max-swallow-size: -1 + error: + include-exception: true + include-stacktrace: ALWAYS + include-message: ALWAYS + compression: + enabled: true + min-response-size: 1024 + mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* +management: + health: + mail: + enabled: false + endpoints: + web: + exposure: + include: "*" #暴露所有节点 + health: + sensitive: true #关闭过滤敏感信息 + endpoint: + health: + show-details: ALWAYS #显示详细信息 +flowable: + # 自动部署验证设置:true-开启(默认)、false-关闭 + check-process-definitions: false + #配置项可以设置流程引擎启动和关闭时数据库执行的策略 + database-schema-update: false + #保存历史数据级别设置为full最高级别,便于历史数据的追溯 + history-level: full + #开启定时任务 + async-executor-activate: true +spring: + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + mail: + host: smtp.163.com + username: jeecgos@163.com + password: ?? + properties: + mail: + smtp: + auth: true + starttls: + enable: true + required: true + ## quartz定时任务,采用数据库方式 + quartz: + job-store-type: jdbc + initialize-schema: embedded + #设置自动启动,默认为 true + auto-startup: false + #延迟1秒启动定时任务 + startup-delay: 1s + #启动时更新己存在的Job + overwrite-existing-jobs: true + properties: + org: + quartz: + scheduler: + instanceName: MyScheduler + instanceId: AUTO + jobStore: + #class: org.quartz.impl.jdbcjobstore.JobStoreTX + class: org.springframework.scheduling.quartz.LocalDataSourceJobStore + driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate + tablePrefix: QRTZ_ + isClustered: true + misfireThreshold: 12000 + clusterCheckinInterval: 15000 + threadPool: + class: org.quartz.simpl.SimpleThreadPool + threadCount: 10 + threadPriority: 5 + threadsInheritContextClassLoaderOfInitializingThread: true + #json 时间戳统一转换 + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + aop: + proxy-target-class: true + jpa: + open-in-view: false + #配置freemarker + freemarker: + # 设置模板后缀名 + suffix: .ftl + # 设置文档类型 + content-type: text/html + # 设置页面编码格式 + charset: UTF-8 + # 设置页面缓存 + cache: false + prefer-file-system-access: false + # 设置ftl文件路径 + template-loader-path: + - classpath:/templates + template_update_delay: 0 + # 设置静态文件路径,js,css等 + mvc: + static-path-pattern: /** + #Spring Boot 2.6+ 手动指定为ant-path-matcher + pathmatch: + matching-strategy: ant_path_matcher + resource: + static-locations: classpath:/static/,classpath:/public/ + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure + - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +#mybatis plus 设置 +mybatis-plus: + mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml + global-config: + # 关闭MP3.0自带的banner + banner: false + db-config: + #主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)"; + id-type: ASSIGN_ID + # 默认数据库表下划线命名 + table-underline: true + configuration: + # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 + #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + # 返回类型为Map,显示null对应的字段 + call-setters-on-nulls: true','94755a848afefef22e34ff83668ec4f7',TO_DATE('2024-07-09 14:30:06','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:06','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','','',null,null,'yaml',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(4,'jeecg-gateway-router.json','DEFAULT_GROUP','[{ + "id": "jeecg-system", + "order": 0, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/sys/**", + "_genkey_1": "/eoa/**", + "_genkey_2": "/joa/**", + "_genkey_3": "/jmreport/**", + "_genkey_4": "/bigscreen/**", + "_genkey_5": "/desform/**", + "_genkey_6": "/online/**", + "_genkey_8": "/act/**", + "_genkey_9": "/plug-in/**", + "_genkey_10": "/generic/**", + "_genkey_11": "/v1/**", + "_genkey_12": "/desflow/**" + } + }], + "filters": [], + "uri": "lb://jeecg-system" +}, { + "id": "jeecg-demo", + "order": 1, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/mock/**", + "_genkey_1": "/test/**", + "_genkey_2": "/bigscreen/template1/**", + "_genkey_3": "/bigscreen/template2/**" + } + }], + "filters": [], + "uri": "lb://jeecg-demo" +}, { + "id": "jeecg-system-websocket", + "order": 2, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/websocket/**", + "_genkey_1": "/eoaSocket/**", + "_genkey_2": "/newsWebsocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-system" +}, { + "id": "jeecg-demo-websocket", + "order": 3, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/vxeSocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-demo" +}]','c9eff51f264ebe266c07ad1c5b6778e2',TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','','',null,null,'json',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(5,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','jeecg: + route: + config: + #路由加载模式: database、nacos、yml + data-type: database + #Nacos模式,读取配置文件jeecg-gateway-router.json(固定) + group: DEFAULT_GROUP + data-id: jeecg-gateway-router +spring: + #redis配置 + redis: + database: 0 + host: jeecg-boot-redis + port: 6379 + password: +#swagger +knife4j: + #开启生产环境屏蔽 + production: false','8fea1277e460b477987521aecf432150',TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','','',null,null,'yaml',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(6,'jeecg-sharding.yaml','DEFAULT_GROUP','spring: + shardingsphere: + datasource: + names: ds0 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: root + password: root + type: com.alibaba.druid.pool.DruidDataSource + props: + sql-show: true + rules: + sharding: + binding-tables: sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + tables: + sys_log: + actual-data-nodes: ds0.sys_log$->{0..1} + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','5d7aad99a23e68589e93facd1b221aea',TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','',null,null,null,'yaml',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(7,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','spring: + shardingsphere: + datasource: + names: ds0,ds1 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + ds1: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + props: + sql-show: true + rules: + replica-query: + load-balancers: + round-robin: + type: ROUND_ROBIN + props: + default: 0 + data-sources: + prds: + primary-data-source-name: ds0 + replica-data-source-names: ds1 + load-balancer-name: round_robin + sharding: + binding-tables: + - sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + database-inline: + type: INLINE + props: + algorithm-expression: ds$->{operate_type % 2} + tables: + sys_log: + actual-data-nodes: ds$->{0..1}.sys_log$->{0..1} + database-strategy: + standard: + sharding-column: operate_type + sharding-algorithm-name: database-inline + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','ef2f42fb2dda43cd0d4397a820f3144e',TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','',null,null,null,'yaml',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(14,'jeecg-dev.yaml','DEFAULT_GROUP','spring: + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: 123456 + allow: + web-stat-filter: + enabled: true + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 20 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,wall,slf4j + wall: + selectWhereAlwayTrueCheck: false + stat: + merge-sql: true + slow-sql-millis: 5000 + datasource: + master: + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + username: root + password: root + driver-class-name: com.mysql.cj.jdbc.Driver + data: + redis: + database: 0 + host: jeecg-boot-redis + password: + port: 6379 + rabbitmq: + host: jeecg-boot-rabbitmq + username: guest + password: guest + port: 5672 + publisher-confirms: true + publisher-returns: true + virtual-host: / + listener: + simple: + acknowledge-mode: manual + concurrency: 1 + max-concurrency: 1 + retry: + enabled: true + flyway: + enabled: false + encoding: UTF-8 + locations: classpath:flyway/sql/mysql + sql-migration-prefix: V + sql-migration-separator: __ + placeholder-prefix: ''#('' + placeholder-suffix: ) + sql-migration-suffixes: .sql + validate-on-migrate: true + baseline-on-migrate: true + clean-disabled: true +minidao: + base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.* +jeecg: + firewall: + dataSourceSafe: false + lowCodeMode: dev + signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a + signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys + uploadType: local + domainUrl: + pc: http://localhost:3100 + app: http://localhost:8051 + path: + upload: /opt/upFiles + webapp: /opt/webapp + shiro: + excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/** + oss: + endpoint: oss-cn-beijing.aliyuncs.com + accessKey: ?? + secretKey: ?? + bucketName: jeecgdev + staticDomain: ?? + elasticsearch: + cluster-name: jeecg-ES + cluster-nodes: jeecg-boot-es:9200 + check-enabled: false + file-view-domain: 127.0.0.1:8012 + minio: + minio_url: http://minio.jeecg.com + minio_name: ?? + minio_pass: ?? + bucketName: otatest + jmreport: + saasMode: + firewall: + dataSourceSafe: false + lowCodeMode: dev + wps: + domain: https://wwo.wps.cn/office/ + appid: ?? + appsecret: ?? + xxljob: + enabled: false + adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin + appname: ${spring.application.name} + accessToken: '''' + logPath: logs/jeecg/job/jobhandler/ + logRetentionDays: 30 + redisson: + address: jeecg-boot-redis:6379 + password: + type: STANDALONE + enabled: true + ai-chat: + enabled: false + apiKey: "????" + apiHost: "https://api.openai.com" + timeout: 60 +logging: + level: + org.jeecg.modules.system.mapper : info +cas: + prefixUrl: http://localhost:8888/cas +knife4j: + production: false + basic: + enable: false + username: jeecg + password: jeecg1314 +justauth: + enabled: true + type: + GITHUB: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback + WECHAT_ENTERPRISE: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback + agent-id: ?? + DINGTALK: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback + cache: + type: default + prefix: ''demo::'' + timeout: 1h +third-app: + enabled: false + type: + WECHAT_ENTERPRISE: + enabled: false + client-id: ?? + client-secret: ?? + agent-id: ?? + DINGTALK: + enabled: false + client-id: ?? + client-secret: ?? + agent-id: ??','91c29720dfb424916a769201a25200cf',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'yaml',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(15,'jeecg.yaml','DEFAULT_GROUP','server: + undertow: + # max-http-post-size: 10MB + worker-threads: 16 + buffers: + websocket: 8192 + io: 16384 + error: + include-exception: true + include-stacktrace: ALWAYS + include-message: ALWAYS + compression: + enabled: true + min-response-size: 1024 + mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* +management: + health: + mail: + enabled: false + endpoints: + web: + exposure: + include: "*" + health: + sensitive: true + endpoint: + health: + show-details: ALWAYS +spring: + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + mail: + host: smtp.163.com + username: jeecgos@163.com + password: ?? + properties: + mail: + smtp: + auth: true + starttls: + enable: true + required: true + quartz: + job-store-type: jdbc + initialize-schema: embedded + auto-startup: false + startup-delay: 1s + overwrite-existing-jobs: true + properties: + org: + quartz: + scheduler: + instanceName: MyScheduler + instanceId: AUTO + jobStore: + class: org.springframework.scheduling.quartz.LocalDataSourceJobStore + driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate + tablePrefix: QRTZ_ + isClustered: true + misfireThreshold: 12000 + clusterCheckinInterval: 15000 + threadPool: + class: org.quartz.simpl.SimpleThreadPool + threadCount: 10 + threadPriority: 5 + threadsInheritContextClassLoaderOfInitializingThread: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + aop: + proxy-target-class: true + activiti: + check-process-definitions: false + async-executor-activate: false + job-executor-activate: false + jpa: + open-in-view: false + freemarker: + suffix: .ftl + content-type: text/html + charset: UTF-8 + cache: false + prefer-file-system-access: false + template-loader-path: + - classpath:/templates + mvc: + static-path-pattern: /** + pathmatch: + matching-strategy: ant_path_matcher + resource: + static-locations: classpath:/static/,classpath:/public/ + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure + - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +mybatis-plus: + mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml + global-config: + banner: false + db-config: + id-type: ASSIGN_ID + table-underline: true + configuration: + call-setters-on-nulls: true','ce1ca3b6f8431e884aed94ab29be43a9',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'yaml',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(16,'jeecg-gateway-router.json','DEFAULT_GROUP','[{ + "id": "jeecg-system", + "order": 0, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/sys/**", + "_genkey_1": "/jmreport/**", + "_genkey_3": "/online/**", + "_genkey_4": "/generic/**", + "_genkey_5": "/oauth2/**", + "_genkey_6": "/drag/**", + "_genkey_7": "/actuator/**" + } + }], + "filters": [], + "uri": "lb://jeecg-system" +}, { + "id": "jeecg-demo", + "order": 1, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/mock/**", + "_genkey_1": "/test/**", + "_genkey_2": "/bigscreen/template1/**", + "_genkey_3": "/bigscreen/template2/**" + } + }], + "filters": [], + "uri": "lb://jeecg-demo" +}, { + "id": "jeecg-system-websocket", + "order": 2, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/websocket/**", + "_genkey_1": "/newsWebsocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-system" +}, { + "id": "jeecg-demo-websocket", + "order": 3, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/vxeSocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-demo" +}]','9794beb09d30bc6b835f2ee870781587',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'json',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(17,'jeecg-sharding.yaml','DEFAULT_GROUP','spring: + shardingsphere: + datasource: + names: ds0 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: root + password: root + type: com.alibaba.druid.pool.DruidDataSource + props: + sql-show: true + rules: + sharding: + binding-tables: sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + tables: + sys_log: + actual-data-nodes: ds0.sys_log$->{0..1} + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','a93fa455c32cd37ca84631d2bbe13005',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'yaml',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(18,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','jeecg: + route: + config: + #type:database nacos yml + data-type: database + data-id: jeecg-gateway-router +spring: + data: + redis: + database: 0 + host: jeecg-boot-redis + port: 6379 + password: +knife4j: + production: false','19d7cd93eeb85a582c8a6942d499c7f7',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'yaml',null,''); +INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(19,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','spring: + shardingsphere: + datasource: + names: ds0,ds1 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + ds1: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + props: + sql-show: true + rules: + replica-query: + load-balancers: + round-robin: + type: ROUND_ROBIN + props: + default: 0 + data-sources: + prds: + primary-data-source-name: ds0 + replica-data-source-names: ds1 + load-balancer-name: round_robin + sharding: + binding-tables: + - sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + database-inline: + type: INLINE + props: + algorithm-expression: ds$->{operate_type % 2} + tables: + sys_log: + actual-data-nodes: ds$->{0..1}.sys_log$->{0..1} + database-strategy: + standard: + sharding-column: operate_type + sharding-algorithm-name: database-inline + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','0fc2b030ca8c0008f148c84ecbd2a8c7',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'yaml',null,''); +SET IDENTITY_INSERT "NACOS"."CONFIG_INFO" OFF; +SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_AGGR" ON; +SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_AGGR" OFF; +SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_BETA" ON; +SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_BETA" OFF; +SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_TAG" ON; +SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_TAG" OFF; +SET IDENTITY_INSERT "NACOS"."CONFIG_TAGS_RELATION" ON; +SET IDENTITY_INSERT "NACOS"."CONFIG_TAGS_RELATION" OFF; +SET IDENTITY_INSERT "NACOS"."GROUP_CAPACITY" ON; +SET IDENTITY_INSERT "NACOS"."GROUP_CAPACITY" OFF; +SET IDENTITY_INSERT "NACOS"."HIS_CONFIG_INFO" ON; +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,1,'1','DEFAULT_GROUP','','1','c4ca4238a0b923820dcc509a6f75849b',TO_DATE('2024-07-09 14:24:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:24:06','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(1,2,'1','DEFAULT_GROUP','','1','c4ca4238a0b923820dcc509a6f75849b',TO_DATE('2024-07-09 14:24:07','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:24:08','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,3,'jeecg-dev.yaml','DEFAULT_GROUP','','spring: + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: 123456 + allow: + web-stat-filter: + enabled: true + dynamic: + druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置) + # 连接池的配置信息 + # 初始化大小,最小,最大 + initial-size: 5 + min-idle: 5 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + # 打开PSCache,并且指定每个连接上PSCache的大小 + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,''wall''用于防火墙 + filters: stat,wall,slf4j + wall: + selectWhereAlwayTrueCheck: false + stat: + merge-sql: true + slow-sql-millis: 5000 -insert into "NACOS"."CONFIG_INFO"("ID", "DATA_ID", "GROUP_ID", "CONTENT", "MD5", "GMT_CREATE", "GMT_MODIFIED", "SRC_USER", "SRC_IP", "APP_NAME", "TENANT_ID", "C_DESC", "C_USE", "EFFECT", "TYPE", "C_SCHEMA", "ENCRYPTED_DATA_KEY") -VALUES(<"ID", BIGINT>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"CONTENT", CLOB>, <"MD5", VARCHAR(32)>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>, <"SRC_USER", TEXT>, <"SRC_IP", VARCHAR(50)>, <"APP_NAME", VARCHAR(128)>, <"TENANT_ID", VARCHAR(128)>, <"C_DESC", VARCHAR(256)>, <"C_USE", VARCHAR(64)>, <"EFFECT", VARCHAR(64)>, <"TYPE", VARCHAR(64)>, <"C_SCHEMA", TEXT>, <"ENCRYPTED_DATA_KEY", TEXT>); + datasource: + master: + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecgbootsy3_6?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + username: root + password: root + driver-class-name: com.mysql.cj.jdbc.Driver + # 多数据源配置 + #multi-datasource1: + #url: jdbc:mysql://localhost:3306/jeecgboot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + #username: root + #password: root + #driver-class-name: com.mysql.cj.jdbc.Driver + #redis 配置 + redis: + database: 0 + host: jeecg-boot-redis + lettuce: + pool: + max-active: 8 #最大连接数据库连接数,设 0 为没有限制 + max-idle: 8 #最大等待连接中的数量,设 0 为没有限制 + max-wait: -1ms #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。 + min-idle: 0 #最小等待连接中的数量,设 0 为没有限制 + shutdown-timeout: 100ms + password: + port: 6379 + #mongodb + data: + mongodb: + #有密码连接 账号密码包含特殊字符的需要用URLEncoder编码 库名必填 + #uri: mongodb://jeecgdev:jeecgd_89@111.225.222.176:27017/jeecgdev + uri: mongodb://jeecg:123456@jeecg-boot-mongo:27017/jeecg?readPreference=secondaryPreferred&maxIdleTimeMS=60000&waitQueueTimeoutMS=2000&minPoolSize=5&maxPoolSize=100&maxLifeTimeMS=0&connectTimeoutMS=2000&socketTimeoutMS=2000 + #集群方式 + #uri: mongodb://192.168.0.221:27017,192.168.0.221:27018/imgdb + print: true #是否打印查询语句 + slowQuery: true #是否记录慢查询到数据库中 + slowTime: 1000 #慢查询最短时间,默认为1000毫秒 + #rabbitmq配置 + rabbitmq: + host: jeecg-boot-rabbitmq + username: guest + password: guest + port: 5672 + publisher-confirms: true + publisher-returns: true + virtual-host: / + listener: + simple: + acknowledge-mode: manual + #消费者的最小数量 + concurrency: 1 + #消费者的最大数量 + max-concurrency: 1 + #是否支持重试 + retry: + enabled: true +#jeecg专用配置 +minidao: + base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.* +jeecg: + firewall: + dataSourceSafe: false + lowCodeMode: dev + # 签名密钥串(前后端要一致,正式发布请自行修改) + signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a + # 本地:local\Minio:minio\阿里云:alioss + uploadType: local + # 前端访问地址 + domainUrl: + pc: http://localhost:3100 + app: http://localhost:8051 + path : + #文件上传根目录 设置 + upload: /opt/upFiles + #webapp文件路径 + webapp: /opt/webapp + shiro: + excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/bigscreen/category/**,/bigscreen/visual/**,/bigscreen/map/**,/jmreport/bigscreen2/** + #阿里云oss存储配置 + oss: + endpoint: oss-cn-beijing.aliyuncs.com + accessKey: ?? + secretKey: ?? + bucketName: jeecgdev + staticDomain: ?? + # ElasticSearch 6设置 + elasticsearch: + cluster-name: jeecg-ES + cluster-nodes: 127.0.0.1:9200 + check-enabled: false + # 表单设计器配置 + desform: + # 主题颜色(仅支持 16进制颜色代码) + theme-color: "#1890ff" + # 文件、图片上传方式,可选项:qiniu(七牛云)、system(跟随系统配置) + upload-type: system + map: + # 配置百度地图的AK,申请地址:https://lbs.baidu.com/apiconsole/key?application=key#/home + baidu: ?? + # 在线预览文件服务器地址配置 + file-view-domain: 127.0.0.1:8012 + # minio文件上传 + minio: + minio_url: http://minio.jeecg.com + minio_name: ?? + minio_pass: ?? + bucketName: otatest + #大屏报表参数设置 + jmreport: + saasMode: + firewall: + dataSourceSafe: false + lowCodeMode: dev + ai-chat: + enabled: false + apiKey: "????" + apiHost: "https://api.openai.com" + timeout: 60 + #Wps在线文档 + wps: + domain: https://wwo.wps.cn/office/ + appid: ?? + appsecret: ?? + #xxl-job配置 + xxljob: + enabled: false + adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin + appname: ${spring.application.name} + accessToken: '''' + logPath: logs/jeecg/job/jobhandler/ + logRetentionDays: 30 + #分布式锁配置 + redisson: + address: jeecg-boot-redis:6379 + password: + type: STANDALONE + enabled: true +#Mybatis输出sql日志 +logging: + level: + org.jeecg.modules.system.mapper: info +#cas单点登录 +cas: + prefixUrl: http://localhost:8888/cas +#swagger +knife4j: + enable: true + #开启生产环境屏蔽 + production: false + basic: + enable: false + username: jeecg + password: jeecg1314 -insert into "NACOS"."CONFIG_INFO_AGGR"("ID", "DATA_ID", "GROUP_ID", "DATUM_ID", "CONTENT", "GMT_MODIFIED", "APP_NAME", "TENANT_ID") -VALUES(<"ID", BIGINT>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"DATUM_ID", VARCHAR(255)>, <"CONTENT", CLOB>, <"GMT_MODIFIED", TIMESTAMP(0)>, <"APP_NAME", VARCHAR(128)>, <"TENANT_ID", VARCHAR(128)>); +#第三方登录 +justauth: + enabled: true + type: + GITHUB: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback + WECHAT_ENTERPRISE: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback + agent-id: 1000002 + DINGTALK: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback + cache: + type: default + prefix: ''demo::'' + timeout: 1h +#第三方APP对接 +third-app: + enabled: false + type: + #企业微信 + WECHAT_ENTERPRISE: + enabled: false + #CORP_ID + client-id: ?? + #SECRET + client-secret: ?? + agent-id: ?? + #自建应用秘钥(新版企微需要配置) + # agent-app-secret: ?? + #钉钉 + DINGTALK: + enabled: false + # appKey + client-id: ?? + # appSecret + client-secret: ?? + agent-id: ??','350e31a280673586f2203956da576136',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:06','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,4,'jeecg.yaml','DEFAULT_GROUP','','server: + tomcat: + max-swallow-size: -1 + error: + include-exception: true + include-stacktrace: ALWAYS + include-message: ALWAYS + compression: + enabled: true + min-response-size: 1024 + mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* +management: + health: + mail: + enabled: false + endpoints: + web: + exposure: + include: "*" #暴露所有节点 + health: + sensitive: true #关闭过滤敏感信息 + endpoint: + health: + show-details: ALWAYS #显示详细信息 +flowable: + # 自动部署验证设置:true-开启(默认)、false-关闭 + check-process-definitions: false + #配置项可以设置流程引擎启动和关闭时数据库执行的策略 + database-schema-update: false + #保存历史数据级别设置为full最高级别,便于历史数据的追溯 + history-level: full + #开启定时任务 + async-executor-activate: true +spring: + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + mail: + host: smtp.163.com + username: jeecgos@163.com + password: ?? + properties: + mail: + smtp: + auth: true + starttls: + enable: true + required: true + ## quartz定时任务,采用数据库方式 + quartz: + job-store-type: jdbc + initialize-schema: embedded + #设置自动启动,默认为 true + auto-startup: false + #延迟1秒启动定时任务 + startup-delay: 1s + #启动时更新己存在的Job + overwrite-existing-jobs: true + properties: + org: + quartz: + scheduler: + instanceName: MyScheduler + instanceId: AUTO + jobStore: + #class: org.quartz.impl.jdbcjobstore.JobStoreTX + class: org.springframework.scheduling.quartz.LocalDataSourceJobStore + driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate + tablePrefix: QRTZ_ + isClustered: true + misfireThreshold: 12000 + clusterCheckinInterval: 15000 + threadPool: + class: org.quartz.simpl.SimpleThreadPool + threadCount: 10 + threadPriority: 5 + threadsInheritContextClassLoaderOfInitializingThread: true + #json 时间戳统一转换 + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + aop: + proxy-target-class: true + jpa: + open-in-view: false + #配置freemarker + freemarker: + # 设置模板后缀名 + suffix: .ftl + # 设置文档类型 + content-type: text/html + # 设置页面编码格式 + charset: UTF-8 + # 设置页面缓存 + cache: false + prefer-file-system-access: false + # 设置ftl文件路径 + template-loader-path: + - classpath:/templates + template_update_delay: 0 + # 设置静态文件路径,js,css等 + mvc: + static-path-pattern: /** + #Spring Boot 2.6+ 手动指定为ant-path-matcher + pathmatch: + matching-strategy: ant_path_matcher + resource: + static-locations: classpath:/static/,classpath:/public/ + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure + - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +#mybatis plus 设置 +mybatis-plus: + mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml + global-config: + # 关闭MP3.0自带的banner + banner: false + db-config: + #主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)"; + id-type: ASSIGN_ID + # 默认数据库表下划线命名 + table-underline: true + configuration: + # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 + #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + # 返回类型为Map,显示null对应的字段 + call-setters-on-nulls: true','94755a848afefef22e34ff83668ec4f7',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,5,'jeecg-gateway-router.json','DEFAULT_GROUP','','[{ + "id": "jeecg-system", + "order": 0, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/sys/**", + "_genkey_1": "/eoa/**", + "_genkey_2": "/joa/**", + "_genkey_3": "/jmreport/**", + "_genkey_4": "/bigscreen/**", + "_genkey_5": "/desform/**", + "_genkey_6": "/online/**", + "_genkey_8": "/act/**", + "_genkey_9": "/plug-in/**", + "_genkey_10": "/generic/**", + "_genkey_11": "/v1/**", + "_genkey_12": "/desflow/**" + } + }], + "filters": [], + "uri": "lb://jeecg-system" +}, { + "id": "jeecg-demo", + "order": 1, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/mock/**", + "_genkey_1": "/test/**", + "_genkey_2": "/bigscreen/template1/**", + "_genkey_3": "/bigscreen/template2/**" + } + }], + "filters": [], + "uri": "lb://jeecg-demo" +}, { + "id": "jeecg-system-websocket", + "order": 2, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/websocket/**", + "_genkey_1": "/eoaSocket/**", + "_genkey_2": "/newsWebsocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-system" +}, { + "id": "jeecg-demo-websocket", + "order": 3, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/vxeSocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-demo" +}]','c9eff51f264ebe266c07ad1c5b6778e2',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,6,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','','jeecg: + route: + config: + #路由加载模式: database、nacos、yml + data-type: database + #Nacos模式,读取配置文件jeecg-gateway-router.json(固定) + group: DEFAULT_GROUP + data-id: jeecg-gateway-router +spring: + #redis配置 + redis: + database: 0 + host: jeecg-boot-redis + port: 6379 + password: +#swagger +knife4j: + #开启生产环境屏蔽 + production: false','8fea1277e460b477987521aecf432150',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,7,'jeecg-sharding.yaml','DEFAULT_GROUP','','spring: + shardingsphere: + datasource: + names: ds0 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: root + password: root + type: com.alibaba.druid.pool.DruidDataSource + props: + sql-show: true + rules: + sharding: + binding-tables: sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + tables: + sys_log: + actual-data-nodes: ds0.sys_log$->{0..1} + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','5d7aad99a23e68589e93facd1b221aea',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,8,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','','spring: + shardingsphere: + datasource: + names: ds0,ds1 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + ds1: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + props: + sql-show: true + rules: + replica-query: + load-balancers: + round-robin: + type: ROUND_ROBIN + props: + default: 0 + data-sources: + prds: + primary-data-source-name: ds0 + replica-data-source-names: ds1 + load-balancer-name: round_robin + sharding: + binding-tables: + - sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + database-inline: + type: INLINE + props: + algorithm-expression: ds$->{operate_type % 2} + tables: + sys_log: + actual-data-nodes: ds$->{0..1}.sys_log$->{0..1} + database-strategy: + standard: + sharding-column: operate_type + sharding-algorithm-name: database-inline + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','ef2f42fb2dda43cd0d4397a820f3144e',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,9,'jeecg-dev.yaml','DEFAULT_GROUP','','spring: + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: 123456 + allow: + web-stat-filter: + enabled: true + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 20 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,wall,slf4j + wall: + selectWhereAlwayTrueCheck: false + stat: + merge-sql: true + slow-sql-millis: 5000 + datasource: + master: + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + username: root + password: root + driver-class-name: com.mysql.cj.jdbc.Driver + redis: + database: 0 + host: jeecg-boot-redis + password: + port: 6379 + rabbitmq: + host: jeecg-boot-rabbitmq + username: guest + password: guest + port: 5672 + publisher-confirms: true + publisher-returns: true + virtual-host: / + listener: + simple: + acknowledge-mode: manual + concurrency: 1 + max-concurrency: 1 + retry: + enabled: true + flyway: + enabled: false + encoding: UTF-8 + locations: classpath:flyway/sql/mysql + sql-migration-prefix: V + sql-migration-separator: __ + placeholder-prefix: ''#('' + placeholder-suffix: ) + sql-migration-suffixes: .sql + validate-on-migrate: true + baseline-on-migrate: true + clean-disabled: true +minidao: + base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.* +jeecg: + firewall: + dataSourceSafe: false + lowCodeMode: dev + signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a + signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys,/sys/sendChangePwdSms,/sys/user/sendChangePhoneSms,/sys/sms,/desform/api/sendVerifyCode + uploadType: local + domainUrl: + pc: http://localhost:3100 + app: http://localhost:8051 + path: + upload: /opt/upFiles + webapp: /opt/webapp + shiro: + excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/** + oss: + endpoint: oss-cn-beijing.aliyuncs.com + accessKey: ?? + secretKey: ?? + bucketName: jeecgdev + staticDomain: ?? + elasticsearch: + cluster-name: jeecg-ES + cluster-nodes: jeecg-boot-es:9200 + check-enabled: false + file-view-domain: 127.0.0.1:8012 + minio: + minio_url: http://minio.jeecg.com + minio_name: ?? + minio_pass: ?? + bucketName: otatest + jmreport: + saasMode: + firewall: + dataSourceSafe: false + lowCodeMode: dev + wps: + domain: https://wwo.wps.cn/office/ + appid: ?? + appsecret: ?? + xxljob: + enabled: true + adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin + appname: ${spring.application.name} + accessToken: '''' + logPath: logs/jeecg/job/jobhandler/ + logRetentionDays: 30 + redisson: + address: jeecg-boot-redis:6379 + password: + type: STANDALONE + enabled: true + ai-chat: + enabled: false + apiKey: "????" + apiHost: "https://api.openai.com" + timeout: 60 +logging: + level: + org.jeecg.modules.system.mapper : info +cas: + prefixUrl: http://localhost:8888/cas +knife4j: + production: false + basic: + enable: false + username: jeecg + password: jeecg1314 +justauth: + enabled: true + type: + GITHUB: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback + WECHAT_ENTERPRISE: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback + agent-id: ?? + DINGTALK: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback + cache: + type: default + prefix: ''demo::'' + timeout: 1h +third-app: + enabled: false + type: + WECHAT_ENTERPRISE: + enabled: false + client-id: ?? + client-secret: ?? + agent-id: ?? + DINGTALK: + enabled: false + client-id: ?? + client-secret: ?? + agent-id: ??','822f70f7a278a503a02568186582ceaa',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,10,'jeecg.yaml','DEFAULT_GROUP','','server: + tomcat: + max-swallow-size: -1 + error: + include-exception: true + include-stacktrace: ALWAYS + include-message: ALWAYS + compression: + enabled: true + min-response-size: 1024 + mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* +management: + health: + mail: + enabled: false + endpoints: + web: + exposure: + include: "*" + health: + sensitive: true + endpoint: + health: + show-details: ALWAYS +spring: + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + mail: + host: smtp.163.com + username: jeecgos@163.com + password: ?? + properties: + mail: + smtp: + auth: true + starttls: + enable: true + required: true + quartz: + job-store-type: jdbc + initialize-schema: embedded + auto-startup: false + startup-delay: 1s + overwrite-existing-jobs: true + properties: + org: + quartz: + scheduler: + instanceName: MyScheduler + instanceId: AUTO + jobStore: + class: org.springframework.scheduling.quartz.LocalDataSourceJobStore + driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate + tablePrefix: QRTZ_ + isClustered: true + misfireThreshold: 12000 + clusterCheckinInterval: 15000 + threadPool: + class: org.quartz.simpl.SimpleThreadPool + threadCount: 10 + threadPriority: 5 + threadsInheritContextClassLoaderOfInitializingThread: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + aop: + proxy-target-class: true + activiti: + check-process-definitions: false + async-executor-activate: false + job-executor-activate: false + jpa: + open-in-view: false + freemarker: + suffix: .ftl + content-type: text/html + charset: UTF-8 + cache: false + prefer-file-system-access: false + template-loader-path: + - classpath:/templates + mvc: + static-path-pattern: /** + pathmatch: + matching-strategy: ant_path_matcher + resource: + static-locations: classpath:/static/,classpath:/public/ + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure + - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +mybatis-plus: + mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml + global-config: + banner: false + db-config: + id-type: ASSIGN_ID + table-underline: true + configuration: + call-setters-on-nulls: true','94dbdad61f7e2e3ace5a4fc07bb8c2a2',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,11,'jeecg-gateway-router.json','DEFAULT_GROUP','','[{ + "id": "jeecg-system", + "order": 0, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/sys/**", + "_genkey_1": "/jmreport/**", + "_genkey_3": "/online/**", + "_genkey_4": "/generic/**", + "_genkey_5": "/drag/**", + "_genkey_6": "/actuator/**" + } + }], + "filters": [], + "uri": "lb://jeecg-system" +}, { + "id": "jeecg-demo", + "order": 1, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/mock/**", + "_genkey_1": "/test/**", + "_genkey_2": "/bigscreen/template1/**", + "_genkey_3": "/bigscreen/template2/**" + } + }], + "filters": [], + "uri": "lb://jeecg-demo" +}, { + "id": "jeecg-system-websocket", + "order": 2, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/websocket/**", + "_genkey_1": "/newsWebsocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-system" +}, { + "id": "jeecg-demo-websocket", + "order": 3, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/vxeSocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-demo" +}]','708c0948118bdb96bdfaa87200a14432',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,12,'jeecg-sharding.yaml','DEFAULT_GROUP','','spring: + shardingsphere: + datasource: + names: ds0 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: root + password: root + type: com.alibaba.druid.pool.DruidDataSource + props: + sql-show: true + rules: + sharding: + binding-tables: sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + tables: + sys_log: + actual-data-nodes: ds0.sys_log$->{0..1} + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','a93fa455c32cd37ca84631d2bbe13005',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,13,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','','jeecg: + route: + config: + #type:database nacos yml + data-type: database + data-id: jeecg-gateway-router +spring: + redis: + database: 0 + host: jeecg-boot-redis + port: 6379 + password: +knife4j: + production: false','98e211c54b43a73f7189d92f1c77f815',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,14,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','','spring: + shardingsphere: + datasource: + names: ds0,ds1 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + ds1: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + props: + sql-show: true + rules: + replica-query: + load-balancers: + round-robin: + type: ROUND_ROBIN + props: + default: 0 + data-sources: + prds: + primary-data-source-name: ds0 + replica-data-source-names: ds1 + load-balancer-name: round_robin + sharding: + binding-tables: + - sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + database-inline: + type: INLINE + props: + algorithm-expression: ds$->{operate_type % 2} + tables: + sys_log: + actual-data-nodes: ds$->{0..1}.sys_log$->{0..1} + database-strategy: + standard: + sharding-column: operate_type + sharding-algorithm-name: database-inline + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','0fc2b030ca8c0008f148c84ecbd2a8c7',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(8,15,'jeecg-dev.yaml','DEFAULT_GROUP','','spring: + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: 123456 + allow: + web-stat-filter: + enabled: true + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 20 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,wall,slf4j + wall: + selectWhereAlwayTrueCheck: false + stat: + merge-sql: true + slow-sql-millis: 5000 + datasource: + master: + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + username: root + password: root + driver-class-name: com.mysql.cj.jdbc.Driver + redis: + database: 0 + host: jeecg-boot-redis + password: + port: 6379 + rabbitmq: + host: jeecg-boot-rabbitmq + username: guest + password: guest + port: 5672 + publisher-confirms: true + publisher-returns: true + virtual-host: / + listener: + simple: + acknowledge-mode: manual + concurrency: 1 + max-concurrency: 1 + retry: + enabled: true + flyway: + enabled: false + encoding: UTF-8 + locations: classpath:flyway/sql/mysql + sql-migration-prefix: V + sql-migration-separator: __ + placeholder-prefix: ''#('' + placeholder-suffix: ) + sql-migration-suffixes: .sql + validate-on-migrate: true + baseline-on-migrate: true + clean-disabled: true +minidao: + base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.* +jeecg: + firewall: + dataSourceSafe: false + lowCodeMode: dev + signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a + signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys,/sys/sendChangePwdSms,/sys/user/sendChangePhoneSms,/sys/sms,/desform/api/sendVerifyCode + uploadType: local + domainUrl: + pc: http://localhost:3100 + app: http://localhost:8051 + path: + upload: /opt/upFiles + webapp: /opt/webapp + shiro: + excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/** + oss: + endpoint: oss-cn-beijing.aliyuncs.com + accessKey: ?? + secretKey: ?? + bucketName: jeecgdev + staticDomain: ?? + elasticsearch: + cluster-name: jeecg-ES + cluster-nodes: jeecg-boot-es:9200 + check-enabled: false + file-view-domain: 127.0.0.1:8012 + minio: + minio_url: http://minio.jeecg.com + minio_name: ?? + minio_pass: ?? + bucketName: otatest + jmreport: + saasMode: + firewall: + dataSourceSafe: false + lowCodeMode: dev + wps: + domain: https://wwo.wps.cn/office/ + appid: ?? + appsecret: ?? + xxljob: + enabled: true + adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin + appname: ${spring.application.name} + accessToken: '''' + logPath: logs/jeecg/job/jobhandler/ + logRetentionDays: 30 + redisson: + address: jeecg-boot-redis:6379 + password: + type: STANDALONE + enabled: true + ai-chat: + enabled: false + apiKey: "????" + apiHost: "https://api.openai.com" + timeout: 60 +logging: + level: + org.jeecg.modules.system.mapper : info +cas: + prefixUrl: http://localhost:8888/cas +knife4j: + production: false + basic: + enable: false + username: jeecg + password: jeecg1314 +justauth: + enabled: true + type: + GITHUB: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback + WECHAT_ENTERPRISE: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback + agent-id: ?? + DINGTALK: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback + cache: + type: default + prefix: ''demo::'' + timeout: 1h +third-app: + enabled: false + type: + WECHAT_ENTERPRISE: + enabled: false + client-id: ?? + client-secret: ?? + agent-id: ?? + DINGTALK: + enabled: false + client-id: ?? + client-secret: ?? + agent-id: ??','822f70f7a278a503a02568186582ceaa',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(9,16,'jeecg.yaml','DEFAULT_GROUP','','server: + tomcat: + max-swallow-size: -1 + error: + include-exception: true + include-stacktrace: ALWAYS + include-message: ALWAYS + compression: + enabled: true + min-response-size: 1024 + mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* +management: + health: + mail: + enabled: false + endpoints: + web: + exposure: + include: "*" + health: + sensitive: true + endpoint: + health: + show-details: ALWAYS +spring: + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + mail: + host: smtp.163.com + username: jeecgos@163.com + password: ?? + properties: + mail: + smtp: + auth: true + starttls: + enable: true + required: true + quartz: + job-store-type: jdbc + initialize-schema: embedded + auto-startup: false + startup-delay: 1s + overwrite-existing-jobs: true + properties: + org: + quartz: + scheduler: + instanceName: MyScheduler + instanceId: AUTO + jobStore: + class: org.springframework.scheduling.quartz.LocalDataSourceJobStore + driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate + tablePrefix: QRTZ_ + isClustered: true + misfireThreshold: 12000 + clusterCheckinInterval: 15000 + threadPool: + class: org.quartz.simpl.SimpleThreadPool + threadCount: 10 + threadPriority: 5 + threadsInheritContextClassLoaderOfInitializingThread: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + aop: + proxy-target-class: true + activiti: + check-process-definitions: false + async-executor-activate: false + job-executor-activate: false + jpa: + open-in-view: false + freemarker: + suffix: .ftl + content-type: text/html + charset: UTF-8 + cache: false + prefer-file-system-access: false + template-loader-path: + - classpath:/templates + mvc: + static-path-pattern: /** + pathmatch: + matching-strategy: ant_path_matcher + resource: + static-locations: classpath:/static/,classpath:/public/ + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure + - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +mybatis-plus: + mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml + global-config: + banner: false + db-config: + id-type: ASSIGN_ID + table-underline: true + configuration: + call-setters-on-nulls: true','94dbdad61f7e2e3ace5a4fc07bb8c2a2',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(10,17,'jeecg-gateway-router.json','DEFAULT_GROUP','','[{ + "id": "jeecg-system", + "order": 0, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/sys/**", + "_genkey_1": "/jmreport/**", + "_genkey_3": "/online/**", + "_genkey_4": "/generic/**", + "_genkey_5": "/drag/**", + "_genkey_6": "/actuator/**" + } + }], + "filters": [], + "uri": "lb://jeecg-system" +}, { + "id": "jeecg-demo", + "order": 1, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/mock/**", + "_genkey_1": "/test/**", + "_genkey_2": "/bigscreen/template1/**", + "_genkey_3": "/bigscreen/template2/**" + } + }], + "filters": [], + "uri": "lb://jeecg-demo" +}, { + "id": "jeecg-system-websocket", + "order": 2, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/websocket/**", + "_genkey_1": "/newsWebsocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-system" +}, { + "id": "jeecg-demo-websocket", + "order": 3, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/vxeSocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-demo" +}]','708c0948118bdb96bdfaa87200a14432',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(11,18,'jeecg-sharding.yaml','DEFAULT_GROUP','','spring: + shardingsphere: + datasource: + names: ds0 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: root + password: root + type: com.alibaba.druid.pool.DruidDataSource + props: + sql-show: true + rules: + sharding: + binding-tables: sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + tables: + sys_log: + actual-data-nodes: ds0.sys_log$->{0..1} + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','a93fa455c32cd37ca84631d2bbe13005',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(12,19,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','','jeecg: + route: + config: + #type:database nacos yml + data-type: database + data-id: jeecg-gateway-router +spring: + redis: + database: 0 + host: jeecg-boot-redis + port: 6379 + password: +knife4j: + production: false','98e211c54b43a73f7189d92f1c77f815',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(13,20,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','','spring: + shardingsphere: + datasource: + names: ds0,ds1 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + ds1: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + props: + sql-show: true + rules: + replica-query: + load-balancers: + round-robin: + type: ROUND_ROBIN + props: + default: 0 + data-sources: + prds: + primary-data-source-name: ds0 + replica-data-source-names: ds1 + load-balancer-name: round_robin + sharding: + binding-tables: + - sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + database-inline: + type: INLINE + props: + algorithm-expression: ds$->{operate_type % 2} + tables: + sys_log: + actual-data-nodes: ds$->{0..1}.sys_log$->{0..1} + database-strategy: + standard: + sharding-column: operate_type + sharding-algorithm-name: database-inline + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','0fc2b030ca8c0008f148c84ecbd2a8c7',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,21,'jeecg-dev.yaml','DEFAULT_GROUP','','spring: + datasource: + druid: + stat-view-servlet: + enabled: true + loginUsername: admin + loginPassword: 123456 + allow: + web-stat-filter: + enabled: true + dynamic: + druid: + initial-size: 5 + min-idle: 5 + maxActive: 20 + maxWait: 60000 + timeBetweenEvictionRunsMillis: 60000 + minEvictableIdleTimeMillis: 300000 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + poolPreparedStatements: true + maxPoolPreparedStatementPerConnectionSize: 20 + filters: stat,wall,slf4j + wall: + selectWhereAlwayTrueCheck: false + stat: + merge-sql: true + slow-sql-millis: 5000 + datasource: + master: + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + username: root + password: root + driver-class-name: com.mysql.cj.jdbc.Driver + data: + redis: + database: 0 + host: jeecg-boot-redis + password: + port: 6379 + rabbitmq: + host: jeecg-boot-rabbitmq + username: guest + password: guest + port: 5672 + publisher-confirms: true + publisher-returns: true + virtual-host: / + listener: + simple: + acknowledge-mode: manual + concurrency: 1 + max-concurrency: 1 + retry: + enabled: true + flyway: + enabled: false + encoding: UTF-8 + locations: classpath:flyway/sql/mysql + sql-migration-prefix: V + sql-migration-separator: __ + placeholder-prefix: ''#('' + placeholder-suffix: ) + sql-migration-suffixes: .sql + validate-on-migrate: true + baseline-on-migrate: true + clean-disabled: true +minidao: + base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.* +jeecg: + firewall: + dataSourceSafe: false + lowCodeMode: dev + signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a + signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys + uploadType: local + domainUrl: + pc: http://localhost:3100 + app: http://localhost:8051 + path: + upload: /opt/upFiles + webapp: /opt/webapp + shiro: + excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/** + oss: + endpoint: oss-cn-beijing.aliyuncs.com + accessKey: ?? + secretKey: ?? + bucketName: jeecgdev + staticDomain: ?? + elasticsearch: + cluster-name: jeecg-ES + cluster-nodes: jeecg-boot-es:9200 + check-enabled: false + file-view-domain: 127.0.0.1:8012 + minio: + minio_url: http://minio.jeecg.com + minio_name: ?? + minio_pass: ?? + bucketName: otatest + jmreport: + saasMode: + firewall: + dataSourceSafe: false + lowCodeMode: dev + wps: + domain: https://wwo.wps.cn/office/ + appid: ?? + appsecret: ?? + xxljob: + enabled: false + adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin + appname: ${spring.application.name} + accessToken: '''' + logPath: logs/jeecg/job/jobhandler/ + logRetentionDays: 30 + redisson: + address: jeecg-boot-redis:6379 + password: + type: STANDALONE + enabled: true + ai-chat: + enabled: false + apiKey: "????" + apiHost: "https://api.openai.com" + timeout: 60 +logging: + level: + org.jeecg.modules.system.mapper : info +cas: + prefixUrl: http://localhost:8888/cas +knife4j: + production: false + basic: + enable: false + username: jeecg + password: jeecg1314 +justauth: + enabled: true + type: + GITHUB: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback + WECHAT_ENTERPRISE: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback + agent-id: ?? + DINGTALK: + client-id: ?? + client-secret: ?? + redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback + cache: + type: default + prefix: ''demo::'' + timeout: 1h +third-app: + enabled: false + type: + WECHAT_ENTERPRISE: + enabled: false + client-id: ?? + client-secret: ?? + agent-id: ?? + DINGTALK: + enabled: false + client-id: ?? + client-secret: ?? + agent-id: ??','91c29720dfb424916a769201a25200cf',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,22,'jeecg.yaml','DEFAULT_GROUP','','server: + undertow: + # max-http-post-size: 10MB + worker-threads: 16 + buffers: + websocket: 8192 + io: 16384 + error: + include-exception: true + include-stacktrace: ALWAYS + include-message: ALWAYS + compression: + enabled: true + min-response-size: 1024 + mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/* +management: + health: + mail: + enabled: false + endpoints: + web: + exposure: + include: "*" + health: + sensitive: true + endpoint: + health: + show-details: ALWAYS +spring: + servlet: + multipart: + max-file-size: 10MB + max-request-size: 10MB + mail: + host: smtp.163.com + username: jeecgos@163.com + password: ?? + properties: + mail: + smtp: + auth: true + starttls: + enable: true + required: true + quartz: + job-store-type: jdbc + initialize-schema: embedded + auto-startup: false + startup-delay: 1s + overwrite-existing-jobs: true + properties: + org: + quartz: + scheduler: + instanceName: MyScheduler + instanceId: AUTO + jobStore: + class: org.springframework.scheduling.quartz.LocalDataSourceJobStore + driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate + tablePrefix: QRTZ_ + isClustered: true + misfireThreshold: 12000 + clusterCheckinInterval: 15000 + threadPool: + class: org.quartz.simpl.SimpleThreadPool + threadCount: 10 + threadPriority: 5 + threadsInheritContextClassLoaderOfInitializingThread: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + aop: + proxy-target-class: true + activiti: + check-process-definitions: false + async-executor-activate: false + job-executor-activate: false + jpa: + open-in-view: false + freemarker: + suffix: .ftl + content-type: text/html + charset: UTF-8 + cache: false + prefer-file-system-access: false + template-loader-path: + - classpath:/templates + mvc: + static-path-pattern: /** + pathmatch: + matching-strategy: ant_path_matcher + resource: + static-locations: classpath:/static/,classpath:/public/ + autoconfigure: + exclude: + - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure + - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration +mybatis-plus: + mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml + global-config: + banner: false + db-config: + id-type: ASSIGN_ID + table-underline: true + configuration: + call-setters-on-nulls: true','ce1ca3b6f8431e884aed94ab29be43a9',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,23,'jeecg-gateway-router.json','DEFAULT_GROUP','','[{ + "id": "jeecg-system", + "order": 0, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/sys/**", + "_genkey_1": "/jmreport/**", + "_genkey_3": "/online/**", + "_genkey_4": "/generic/**", + "_genkey_5": "/oauth2/**", + "_genkey_6": "/drag/**", + "_genkey_7": "/actuator/**" + } + }], + "filters": [], + "uri": "lb://jeecg-system" +}, { + "id": "jeecg-demo", + "order": 1, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/mock/**", + "_genkey_1": "/test/**", + "_genkey_2": "/bigscreen/template1/**", + "_genkey_3": "/bigscreen/template2/**" + } + }], + "filters": [], + "uri": "lb://jeecg-demo" +}, { + "id": "jeecg-system-websocket", + "order": 2, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/websocket/**", + "_genkey_1": "/newsWebsocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-system" +}, { + "id": "jeecg-demo-websocket", + "order": 3, + "predicates": [{ + "name": "Path", + "args": { + "_genkey_0": "/vxeSocket/**" + } + }], + "filters": [], + "uri": "lb:ws://jeecg-demo" +}]','9794beb09d30bc6b835f2ee870781587',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,24,'jeecg-sharding.yaml','DEFAULT_GROUP','','spring: + shardingsphere: + datasource: + names: ds0 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + username: root + password: root + type: com.alibaba.druid.pool.DruidDataSource + props: + sql-show: true + rules: + sharding: + binding-tables: sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + tables: + sys_log: + actual-data-nodes: ds0.sys_log$->{0..1} + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','a93fa455c32cd37ca84631d2bbe13005',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,25,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','','jeecg: + route: + config: + #type:database nacos yml + data-type: database + data-id: jeecg-gateway-router +spring: + data: + redis: + database: 0 + host: jeecg-boot-redis + port: 6379 + password: +knife4j: + production: false','19d7cd93eeb85a582c8a6942d499c7f7',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); +INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,26,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','','spring: + shardingsphere: + datasource: + names: ds0,ds1 + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + ds1: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + props: + sql-show: true + rules: + replica-query: + load-balancers: + round-robin: + type: ROUND_ROBIN + props: + default: 0 + data-sources: + prds: + primary-data-source-name: ds0 + replica-data-source-names: ds1 + load-balancer-name: round_robin + sharding: + binding-tables: + - sys_log + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + database-inline: + type: INLINE + props: + algorithm-expression: ds$->{operate_type % 2} + tables: + sys_log: + actual-data-nodes: ds$->{0..1}.sys_log$->{0..1} + database-strategy: + standard: + sharding-column: operate_type + sharding-algorithm-name: database-inline + table-strategy: + standard: + sharding-algorithm-name: table-classbased + sharding-column: log_type','0fc2b030ca8c0008f148c84ecbd2a8c7',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3',''); -insert into "NACOS"."CONFIG_INFO_BETA"("ID", "DATA_ID", "GROUP_ID", "APP_NAME", "CONTENT", "BETA_IPS", "MD5", "GMT_CREATE", "GMT_MODIFIED", "SRC_USER", "SRC_IP", "TENANT_ID", "ENCRYPTED_DATA_KEY") -VALUES(<"ID", BIGINT>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"APP_NAME", VARCHAR(128)>, <"CONTENT", CLOB>, <"BETA_IPS", VARCHAR(1024)>, <"MD5", VARCHAR(32)>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>, <"SRC_USER", TEXT>, <"SRC_IP", VARCHAR(50)>, <"TENANT_ID", VARCHAR(128)>, <"ENCRYPTED_DATA_KEY", TEXT>); +SET IDENTITY_INSERT "NACOS"."HIS_CONFIG_INFO" OFF; +INSERT INTO "NACOS"."ROLES"("USERNAME","ROLE") VALUES('nacos','ROLE_ADMIN'); -insert into "NACOS"."CONFIG_INFO_TAG"("ID", "DATA_ID", "GROUP_ID", "TENANT_ID", "TAG_ID", "APP_NAME", "CONTENT", "MD5", "GMT_CREATE", "GMT_MODIFIED", "SRC_USER", "SRC_IP") -VALUES(<"ID", BIGINT>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"TENANT_ID", VARCHAR(128)>, <"TAG_ID", VARCHAR(128)>, <"APP_NAME", VARCHAR(128)>, <"CONTENT", CLOB>, <"MD5", VARCHAR(32)>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>, <"SRC_USER", TEXT>, <"SRC_IP", VARCHAR(50)>); +SET IDENTITY_INSERT "NACOS"."TENANT_CAPACITY" ON; +SET IDENTITY_INSERT "NACOS"."TENANT_CAPACITY" OFF; +SET IDENTITY_INSERT "NACOS"."TENANT_INFO" ON; +INSERT INTO "NACOS"."TENANT_INFO"("ID","KP","TENANT_ID","TENANT_NAME","TENANT_DESC","CREATE_SOURCE","GMT_CREATE","GMT_MODIFIED") VALUES(1,'1','springboot3','springboot3','springboot3版本配置文件,与springboot2有很大区别','nacos',1720506551826,1720506551826); -insert into "NACOS"."CONFIG_TAGS_RELATION"("ID", "TAG_NAME", "TAG_TYPE", "DATA_ID", "GROUP_ID", "TENANT_ID", "NID") -VALUES(<"ID", BIGINT>, <"TAG_NAME", VARCHAR(128)>, <"TAG_TYPE", VARCHAR(64)>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"TENANT_ID", VARCHAR(128)>, <"NID", BIGINT>); +SET IDENTITY_INSERT "NACOS"."TENANT_INFO" OFF; +INSERT INTO "NACOS"."USERS"("USERNAME","PASSWORD","ENABLED") VALUES('nacos','$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu',1); -insert into "NACOS"."GROUP_CAPACITY"("ID", "GROUP_ID", "QUOTA", "USAGE", "MAX_SIZE", "MAX_AGGR_COUNT", "MAX_AGGR_SIZE", "MAX_HISTORY_COUNT", "GMT_CREATE", "GMT_MODIFIED") -VALUES(<"ID", BIGINT>, <"GROUP_ID", VARCHAR(128)>, <"QUOTA", BIGINT>, <"USAGE", BIGINT>, <"MAX_SIZE", BIGINT>, <"MAX_AGGR_COUNT", BIGINT>, <"MAX_AGGR_SIZE", BIGINT>, <"MAX_HISTORY_COUNT", BIGINT>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>); +ALTER TABLE "NACOS"."CONFIG_INFO" ADD CONSTRAINT PRIMARY KEY("ID") ; -insert into "NACOS"."HIS_CONFIG_INFO"("ID", "NID", "DATA_ID", "GROUP_ID", "APP_NAME", "CONTENT", "MD5", "GMT_CREATE", "GMT_MODIFIED", "SRC_USER", "SRC_IP", "OP_TYPE", "TENANT_ID", "ENCRYPTED_DATA_KEY") -VALUES(<"ID", DECIMAL(20, 0)>, <"NID", BIGINT>, <"DATA_ID", VARCHAR(255)>, <"GROUP_ID", VARCHAR(128)>, <"APP_NAME", VARCHAR(128)>, <"CONTENT", CLOB>, <"MD5", VARCHAR(32)>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>, <"SRC_USER", TEXT>, <"SRC_IP", VARCHAR(50)>, <"OP_TYPE", CHAR(10)>, <"TENANT_ID", VARCHAR(128)>, <"ENCRYPTED_DATA_KEY", TEXT>); +ALTER TABLE "NACOS"."CONFIG_INFO_AGGR" ADD CONSTRAINT PRIMARY KEY("ID") ; -insert into "NACOS"."PERMISSIONS"("ROLE", "RESOURCE", "ACTION") -VALUES(<"ROLE", VARCHAR(50)>, <"RESOURCE", VARCHAR(255)>, <"ACTION", VARCHAR(8)>); +ALTER TABLE "NACOS"."CONFIG_INFO_BETA" ADD CONSTRAINT PRIMARY KEY("ID") ; -insert into "NACOS"."ROLES"("USERNAME", "ROLE") -VALUES(<"USERNAME", VARCHAR(50)>, <"ROLE", VARCHAR(50)>); +ALTER TABLE "NACOS"."CONFIG_INFO_TAG" ADD CONSTRAINT PRIMARY KEY("ID") ; -insert into "NACOS"."TENANT_CAPACITY"("ID", "TENANT_ID", "QUOTA", "USAGE", "MAX_SIZE", "MAX_AGGR_COUNT", "MAX_AGGR_SIZE", "MAX_HISTORY_COUNT", "GMT_CREATE", "GMT_MODIFIED") -VALUES(<"ID", BIGINT>, <"TENANT_ID", VARCHAR(128)>, <"QUOTA", BIGINT>, <"USAGE", BIGINT>, <"MAX_SIZE", BIGINT>, <"MAX_AGGR_COUNT", BIGINT>, <"MAX_AGGR_SIZE", BIGINT>, <"MAX_HISTORY_COUNT", BIGINT>, <"GMT_CREATE", TIMESTAMP(0)>, <"GMT_MODIFIED", TIMESTAMP(0)>); +ALTER TABLE "NACOS"."CONFIG_TAGS_RELATION" ADD CONSTRAINT PRIMARY KEY("NID") ; -insert into "NACOS"."TENANT_INFO"("ID", "KP", "TENANT_ID", "TENANT_NAME", "TENANT_DESC", "CREATE_SOURCE", "GMT_CREATE", "GMT_MODIFIED") -VALUES(<"ID", BIGINT>, <"KP", VARCHAR(128)>, <"TENANT_ID", VARCHAR(128)>, <"TENANT_NAME", VARCHAR(128)>, <"TENANT_DESC", VARCHAR(256)>, <"CREATE_SOURCE", VARCHAR(32)>, <"GMT_CREATE", BIGINT>, <"GMT_MODIFIED", BIGINT>); +ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CONSTRAINT PRIMARY KEY("ID") ; -insert into "NACOS"."USERS"("USERNAME", "PASSWORD", "ENABLED") -VALUES(<"USERNAME", VARCHAR(50)>, <"PASSWORD", VARCHAR(500)>, <"ENABLED", TINYINT>); +ALTER TABLE "NACOS"."HIS_CONFIG_INFO" ADD CONSTRAINT PRIMARY KEY("NID") ; + +ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CONSTRAINT PRIMARY KEY("ID") ; + +ALTER TABLE "NACOS"."TENANT_INFO" ADD CONSTRAINT PRIMARY KEY("ID") ; + +ALTER TABLE "NACOS"."USERS" ADD CONSTRAINT PRIMARY KEY("USERNAME") ; + +ALTER TABLE "NACOS"."HIS_CONFIG_INFO" ADD CHECK("ID" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."CONFIG_INFO" ADD CONSTRAINT "UK_CONFIGINFO_DATAGROUPTENANT" UNIQUE("DATA_ID","GROUP_ID","TENANT_ID") ; + +ALTER TABLE "NACOS"."CONFIG_INFO_AGGR" ADD CONSTRAINT "UK_CONFIGINFOAGGR_DATAGROUPTENANTDATUM" UNIQUE("DATA_ID","GROUP_ID","TENANT_ID","DATUM_ID") ; + +ALTER TABLE "NACOS"."CONFIG_INFO_BETA" ADD CONSTRAINT "UK_CONFIGINFOBETA_DATAGROUPTENANT" UNIQUE("DATA_ID","GROUP_ID","TENANT_ID") ; + +ALTER TABLE "NACOS"."CONFIG_INFO_TAG" ADD CONSTRAINT "UK_CONFIGINFOTAG_DATAGROUPTENANTTAG" UNIQUE("DATA_ID","GROUP_ID","TENANT_ID","TAG_ID") ; + +ALTER TABLE "NACOS"."CONFIG_TAGS_RELATION" ADD CONSTRAINT "UK_CONFIGTAGRELATION_CONFIGIDTAG" UNIQUE("ID","TAG_NAME","TAG_TYPE") ; + +ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CONSTRAINT "UK_GROUP_ID" UNIQUE("GROUP_ID") ; + +ALTER TABLE "NACOS"."PERMISSIONS" ADD CONSTRAINT "UK_ROLE_PERMISSION" UNIQUE("ROLE","RESOURCE","ACTION") ; + +ALTER TABLE "NACOS"."ROLES" ADD CONSTRAINT "IDX_USER_ROLE" UNIQUE("USERNAME","ROLE") ; + +ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CONSTRAINT "UK_TENANT_ID" UNIQUE("TENANT_ID") ; + +ALTER TABLE "NACOS"."TENANT_INFO" ADD CONSTRAINT "UK_TENANT_INFO_KPTENANTID" UNIQUE("KP","TENANT_ID") ; + +COMMENT ON TABLE "NACOS"."CONFIG_INFO" IS 'config_info'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."ID" IS 'id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."DATA_ID" IS 'data_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."CONTENT" IS 'content'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."MD5" IS 'md5'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."GMT_CREATE" IS '创建时间'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."GMT_MODIFIED" IS '修改时间'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."SRC_USER" IS 'source user'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."SRC_IP" IS 'source ip'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."TENANT_ID" IS '租户字段'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."ENCRYPTED_DATA_KEY" IS '密钥'; + +COMMENT ON TABLE "NACOS"."CONFIG_INFO_AGGR" IS '增加租户字段'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."ID" IS 'id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."DATA_ID" IS 'data_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."GROUP_ID" IS 'group_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."DATUM_ID" IS 'datum_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."CONTENT" IS '内容'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."GMT_MODIFIED" IS '修改时间'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."TENANT_ID" IS '租户字段'; + +COMMENT ON TABLE "NACOS"."CONFIG_INFO_BETA" IS 'config_info_beta'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."ID" IS 'id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."DATA_ID" IS 'data_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GROUP_ID" IS 'group_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."APP_NAME" IS 'app_name'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."CONTENT" IS 'content'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."BETA_IPS" IS 'betaIps'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."MD5" IS 'md5'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GMT_CREATE" IS '创建时间'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GMT_MODIFIED" IS '修改时间'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."SRC_USER" IS 'source user'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."SRC_IP" IS 'source ip'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."TENANT_ID" IS '租户字段'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."ENCRYPTED_DATA_KEY" IS '密钥'; + +COMMENT ON TABLE "NACOS"."CONFIG_INFO_TAG" IS 'config_info_tag'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."ID" IS 'id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."DATA_ID" IS 'data_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GROUP_ID" IS 'group_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."TENANT_ID" IS 'tenant_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."TAG_ID" IS 'tag_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."APP_NAME" IS 'app_name'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."CONTENT" IS 'content'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."MD5" IS 'md5'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GMT_CREATE" IS '创建时间'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GMT_MODIFIED" IS '修改时间'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."SRC_USER" IS 'source user'; + +COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."SRC_IP" IS 'source ip'; + +COMMENT ON TABLE "NACOS"."CONFIG_TAGS_RELATION" IS 'config_tag_relation'; + +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."ID" IS 'id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TAG_NAME" IS 'tag_name'; + +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TAG_TYPE" IS 'tag_type'; + +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."DATA_ID" IS 'data_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."GROUP_ID" IS 'group_id'; + +COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TENANT_ID" IS 'tenant_id'; + +CREATE INDEX "IDX_DID" +ON "NACOS"."HIS_CONFIG_INFO"("DATA_ID"); + +CREATE INDEX "IDX_GMT_CREATE" +ON "NACOS"."HIS_CONFIG_INFO"("GMT_CREATE"); + +CREATE INDEX "IDX_GMT_MODIFIED" +ON "NACOS"."HIS_CONFIG_INFO"("GMT_MODIFIED"); + +CREATE INDEX "IDX_TENANT_ID" +ON "NACOS"."TENANT_INFO"("TENANT_ID"); + +ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("USAGE" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("MAX_SIZE" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("MAX_AGGR_COUNT" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("MAX_AGGR_SIZE" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("MAX_HISTORY_COUNT" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("QUOTA" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("QUOTA" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("USAGE" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("MAX_SIZE" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("MAX_AGGR_COUNT" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("MAX_AGGR_SIZE" >= 0) ENABLE ; + +ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("MAX_HISTORY_COUNT" >= 0) ENABLE ; + +COMMENT ON TABLE "NACOS"."GROUP_CAPACITY" IS '集群、各Group容量信息表'; + +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."ID" IS '主键ID'; + +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GROUP_ID" IS 'Group ID,空字符表示整个集群'; + +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."QUOTA" IS '配额,0表示使用默认值'; + +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."USAGE" IS '使用量'; + +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_SIZE" IS '单个配置大小上限,单位为字节,0表示使用默认值'; + +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_AGGR_COUNT" IS '聚合子配置最大个数,,0表示使用默认值'; + +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_AGGR_SIZE" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值'; + +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_HISTORY_COUNT" IS '最大变更历史数量'; + +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GMT_CREATE" IS '创建时间'; + +COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GMT_MODIFIED" IS '修改时间'; + +COMMENT ON TABLE "NACOS"."HIS_CONFIG_INFO" IS '多租户改造'; + +COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."APP_NAME" IS 'app_name'; + +COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."TENANT_ID" IS '租户字段'; + +COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."ENCRYPTED_DATA_KEY" IS '密钥'; + +COMMENT ON TABLE "NACOS"."TENANT_CAPACITY" IS '租户容量信息表'; + +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."ID" IS '主键ID'; + +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."TENANT_ID" IS 'Tenant ID'; + +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."QUOTA" IS '配额,0表示使用默认值'; + +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."USAGE" IS '使用量'; + +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_SIZE" IS '单个配置大小上限,单位为字节,0表示使用默认值'; + +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_AGGR_COUNT" IS '聚合子配置最大个数'; + +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_AGGR_SIZE" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值'; + +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_HISTORY_COUNT" IS '最大变更历史数量'; + +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."GMT_CREATE" IS '创建时间'; + +COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."GMT_MODIFIED" IS '修改时间'; + +COMMENT ON TABLE "NACOS"."TENANT_INFO" IS 'tenant_info'; + +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."ID" IS 'id'; + +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."KP" IS 'kp'; + +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_ID" IS 'tenant_id'; + +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_NAME" IS 'tenant_name'; + +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_DESC" IS 'tenant_desc'; + +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."CREATE_SOURCE" IS 'create_source'; + +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."GMT_CREATE" IS '创建时间'; + +COMMENT ON COLUMN "NACOS"."TENANT_INFO"."GMT_MODIFIED" IS '修改时间'; From ab86013e7b335b2f6fc4c3da7c0d0ebfff61c545 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Tue, 9 Jul 2024 21:56:37 +0800 Subject: [PATCH 040/108] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4c1bc6d44..11c0e6627 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ JeecgBoot 低代码开发平台 当前最新版本: 3.7.0_all(发布日期:2024-06-23) -[![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE) -[![](https://img.shields.io/badge/Author-北京国炬软件-orange.svg)](http://jeecg.com/aboutusIndex) -[![](https://img.shields.io/badge/version-3.7.0_all-brightgreen.svg)](https://github.com/zhangdaiscott/jeecg-boot) -[![GitHub stars](https://img.shields.io/github/stars/zhangdaiscott/jeecg-boot.svg?style=social&label=Stars)](https://github.com/zhangdaiscott/jeecg-boot) -[![GitHub forks](https://img.shields.io/github/forks/zhangdaiscott/jeecg-boot.svg?style=social&label=Fork)](https://github.com/zhangdaiscott/jeecg-boot) +[![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/jeecgboot/JeecgBoot/blob/master/LICENSE) +[![](https://img.shields.io/badge/Author-北京国炬软件-orange.svg)](http://guojusoft.com) +[![](https://img.shields.io/badge/version-3.7.0_all-brightgreen.svg)](https://github.com/jeecgboot/JeecgBoot) +[![GitHub stars](https://img.shields.io/github/stars/zhangdaiscott/jeecg-boot.svg?style=social&label=Stars)](https://github.com/jeecgboot/JeecgBoot) +[![GitHub forks](https://img.shields.io/github/forks/zhangdaiscott/jeecg-boot.svg?style=social&label=Fork)](https://github.com/jeecgboot/JeecgBoot) From 606f079a93da4532944749684fe4734dd0304c19 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Wed, 10 Jul 2024 16:00:11 +0800 Subject: [PATCH 041/108] =?UTF-8?q?=E8=A7=A3=E5=86=B3jdk17=20=E5=86=85?= =?UTF-8?q?=E5=AD=98=E4=BF=A1=E6=81=AF-=E7=AB=8B=E5=8D=B3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=20=E5=8A=9F=E8=83=BD=E6=8A=A5=E9=94=99=20#6635-?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ActuatorMemoryController.java | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/controller/ActuatorMemoryController.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/controller/ActuatorMemoryController.java index c6c3bc146..69559fe93 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/controller/ActuatorMemoryController.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/monitor/controller/ActuatorMemoryController.java @@ -26,27 +26,31 @@ public class ActuatorMemoryController { /** * 内存详情 * @return - * @throws Exception */ @GetMapping("/info") - public Result getRedisInfo() throws Exception { - OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean(); - JSONObject operatingSystemJson = JSONObject.parseObject(JSONObject.toJSONString(operatingSystemMXBean)); - long totalPhysicalMemory = operatingSystemJson.getLongValue("totalPhysicalMemorySize"); - long freePhysicalMemory = operatingSystemJson.getLongValue("freePhysicalMemorySize"); - long usedPhysicalMemory = totalPhysicalMemory - freePhysicalMemory; + public Result getRedisInfo() { Runtime runtime = Runtime.getRuntime(); Map result = new HashMap<>(); - result.put("memory.physical.total", totalPhysicalMemory); - result.put("memory.physical.used", freePhysicalMemory); - result.put("memory.physical.free", usedPhysicalMemory); - result.put("memory.physical.usage", NumberUtil.div(usedPhysicalMemory, totalPhysicalMemory)); result.put("memory.runtime.total", runtime.totalMemory()); result.put("memory.runtime.used", runtime.freeMemory()); result.put("memory.runtime.max", runtime.totalMemory() - runtime.freeMemory()); result.put("memory.runtime.free", runtime.maxMemory() - runtime.totalMemory() + runtime.freeMemory()); result.put("memory.runtime.usage", NumberUtil.div(runtime.totalMemory() - runtime.freeMemory(), runtime.totalMemory())); - return Result.ok(result); + //update-begin---author:chenrui ---date:20240705 for:[TV360X-1695]内存信息-立即更新 功能报错 #6635------------ + OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean(); + if (operatingSystemMXBean instanceof com.sun.management.OperatingSystemMXBean) { + com.sun.management.OperatingSystemMXBean opBean = (com.sun.management.OperatingSystemMXBean) operatingSystemMXBean; +// JSONObject operatingSystemJson = JSONObject.parseObject(JSONObject.toJSONString(operatingSystemMXBean)); + long totalPhysicalMemory = opBean.getTotalPhysicalMemorySize(); + long freePhysicalMemory = opBean.getFreePhysicalMemorySize(); + long usedPhysicalMemory = totalPhysicalMemory - freePhysicalMemory; + result.put("memory.physical.total", totalPhysicalMemory); + result.put("memory.physical.used", freePhysicalMemory); + result.put("memory.physical.free", usedPhysicalMemory); + result.put("memory.physical.usage", NumberUtil.div(usedPhysicalMemory, totalPhysicalMemory)); + } + //update-end---author:chenrui ---date:20240705 for:[TV360X-1695]内存信息-立即更新 功能报错 #6635------------ + return Result.ok(result); } } From fd92d516eeb857d4e87fe36604788132a0dfff4f Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 11 Jul 2024 10:33:35 +0800 Subject: [PATCH 042/108] =?UTF-8?q?nacos=E6=94=AF=E6=8C=81=E8=BE=BE?= =?UTF-8?q?=E6=A2=A6=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml index 612d20147..d933c7e2d 100644 --- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml +++ b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml @@ -36,6 +36,7 @@ 2.17.0 8.1.1.49 + 2.3.2 @@ -50,22 +51,22 @@ org.jeecgframework.nacos nacos-naming - 2.3.2 + ${nacos.version} org.jeecgframework.nacos nacos-istio - 2.3.2 + ${nacos.version} org.jeecgframework.nacos nacos-config - 2.3.2 + ${nacos.version} org.jeecgframework.nacos nacos-console - 2.3.2 + ${nacos.version} From 7015eef62189ef13f8f9d74fdd604620161fb65b Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 11 Jul 2024 10:37:18 +0800 Subject: [PATCH 043/108] =?UTF-8?q?=E3=80=90issues/6374=E3=80=91=E6=9A=97?= =?UTF-8?q?=E9=BB=91=E4=B8=BB=E9=A2=98=E6=8C=89=E9=92=AE=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecgboot-vue3/src/design/index.less | 33 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/jeecgboot-vue3/src/design/index.less b/jeecgboot-vue3/src/design/index.less index ccc955e1c..5d4246fd8 100644 --- a/jeecgboot-vue3/src/design/index.less +++ b/jeecgboot-vue3/src/design/index.less @@ -186,24 +186,23 @@ html[data-theme='dark'] { .ant-upload-text-icon, a { color:rgba(255, 255, 255, 0.25) ; } - } + .ant-select-selector, + .ant-btn, + .ant-input, + .ant-input-affix-wrapper, + .ant-picker, + .ant-input-number { + background-color: transparent !important; + } - .ant-select-selector, - .ant-btn, - .ant-input, - .ant-input-affix-wrapper, - .ant-picker, - .ant-input-number { - background-color: transparent !important; - } - - .ant-select-selection-item { - background-color: transparent !important; - } - // 暗黑模式下输入框等icon隐藏 - .ant-picker-suffix,.ant-select-arrow { - content:" "; - display: none; + .ant-select-selection-item { + background-color: transparent !important; + } + // 暗黑模式下输入框等icon隐藏 + .ant-picker-suffix,.ant-select-arrow { + content:" "; + display: none; + } } } .jeecg-form-detail-effect { From 5dd3bdc23f78763cd0a22c3e0945f11708fb90d2 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 11 Jul 2024 10:38:07 +0800 Subject: [PATCH 044/108] =?UTF-8?q?[issues/6368]=20rangeDate=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E5=88=A4=E6=96=AD=E5=85=81=E8=AE=B8=E8=B5=B7=E5=A7=8B?= =?UTF-8?q?=E9=A1=B9=E6=88=96=E7=BB=93=E6=9D=9F=E9=A1=B9=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E5=85=BC=E5=AE=B9allowEmpty?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Form/src/jeecg/components/JRangeDate.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jeecgboot-vue3/src/components/Form/src/jeecg/components/JRangeDate.vue b/jeecgboot-vue3/src/components/Form/src/jeecg/components/JRangeDate.vue index 865e38812..8aa995316 100644 --- a/jeecgboot-vue3/src/components/Form/src/jeecg/components/JRangeDate.vue +++ b/jeecgboot-vue3/src/components/Form/src/jeecg/components/JRangeDate.vue @@ -42,9 +42,9 @@ function handleChange(arr){ let str = '' if(arr && arr.length>0){ - if(arr[1] && arr[0]){ - str = arr.join(',') - } + // update-begin--author:liaozhiyang---date:20240710---for:[issues/6368] rangeDate去掉判断允许起始项或结束项为空兼容allowEmpty + str = arr.join(',') + // update-end--author:liaozhiyang---date:20240710---for:[issues/6368] rangeDate去掉判断允许起始项或结束项为空兼容allowEmpty } emit('change', str); emit('update:value', str); @@ -62,4 +62,4 @@ \ No newline at end of file + From b189e6de52ed33a8f596436589904312c2f457ce Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 11 Jul 2024 10:39:17 +0800 Subject: [PATCH 045/108] =?UTF-8?q?=E3=80=90issues/6851=E3=80=91editableCe?= =?UTF-8?q?ll=E7=BB=84=E4=BB=B6=E5=80=BC=E4=B8=BA0=E6=97=B6=E4=B8=8D?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Table/src/components/editable/EditableCell.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jeecgboot-vue3/src/components/Table/src/components/editable/EditableCell.vue b/jeecgboot-vue3/src/components/Table/src/components/editable/EditableCell.vue index 023785de0..130c85985 100644 --- a/jeecgboot-vue3/src/components/Table/src/components/editable/EditableCell.vue +++ b/jeecgboot-vue3/src/components/Table/src/components/editable/EditableCell.vue @@ -2,7 +2,9 @@
- {{ getValues ? getValues : ' ' }} + + {{ getValues ?? ' ' }} +
From 1243fe1cadb5d9b56ffaee6b467d413147623503 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 11 Jul 2024 10:39:47 +0800 Subject: [PATCH 046/108] =?UTF-8?q?=E3=80=90issues/6681=E3=80=91=E5=BC=82?= =?UTF-8?q?=E6=AD=A5=E6=9F=A5=E8=AF=A2=E4=B8=8D=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Form/src/jeecg/components/JSearchSelect.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jeecgboot-vue3/src/components/Form/src/jeecg/components/JSearchSelect.vue b/jeecgboot-vue3/src/components/Form/src/jeecg/components/JSearchSelect.vue index abde23e10..baf44b57d 100644 --- a/jeecgboot-vue3/src/components/Form/src/jeecg/components/JSearchSelect.vue +++ b/jeecgboot-vue3/src/components/Form/src/jeecg/components/JSearchSelect.vue @@ -49,6 +49,7 @@ import { defHttp } from '/@/utils/http/axios'; import { debounce } from 'lodash-es'; import { setPopContainer } from '/@/utils'; + import { isObject } from '/@/utils/is'; export default defineComponent({ name: 'JSearchSelect', @@ -353,7 +354,9 @@ //update-end-author:taoyan date:2022-8-15 for: VUEN-1971 【online 专项测试】关联记录和他表字段 1 // update-begin--author:liaozhiyang---date:20240523---for:【TV360X-26】下拉搜索控件选中选项后再次点击下拉应该显示初始的下拉选项,而不是只展示选中结果 const handleAsyncFocus = () => { - options.value.length && initDictCodeData(); + // update-begin--author:liaozhiyang---date:20240709---for:【issues/6681】异步查询不生效 + (isObject(selectedAsyncValue.value) || selectedAsyncValue.value?.length) && isDictTable.value && props.async && initDictTableData(); + // update-end--author:liaozhiyang---date:20240709---for:【issues/6681】异步查询不生效 attrs.onFocus?.(); }; // update-end--author:liaozhiyang---date:20240523---for:【TV360X-26】下拉搜索控件选中选项后再次点击下拉应该显示初始的下拉选项,而不是只展示选中结果 From 7049e9974e76e4e3c7d67f3ff03cfca6dd04987e Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 11 Jul 2024 10:49:08 +0800 Subject: [PATCH 047/108] =?UTF-8?q?=E6=97=A0=E7=94=A8=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=8E=BB=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/jeecg/jeecg_database.properties | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/jeecg/jeecg_database.properties b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/jeecg/jeecg_database.properties index 6eb03449e..058ed18f0 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/jeecg/jeecg_database.properties +++ b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/jeecg/jeecg_database.properties @@ -10,7 +10,6 @@ database_name=jeecg-boot #url=jdbc:oracle:thin:@192.168.1.200:1521:ORCL #username=scott #password=tiger -#database_name=ORCL #postgre #diver_name=org.postgresql.Driver @@ -20,7 +19,7 @@ database_name=jeecg-boot #database_name=jeecg #schemaName=public -#SQLServer2005\u4ee5\u4e0a +#SQLServer2005\u4EE5\u4E0A #diver_name=org.hibernate.dialect.SQLServerDialect #url=jdbc:sqlserver://192.168.1.200:1433;DatabaseName=jeecg #username=sa From 0148a0b45e263b1ee92fdbd41776d602f2f70133 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Fri, 12 Jul 2024 14:16:09 +0800 Subject: [PATCH 048/108] =?UTF-8?q?#6861=20=E8=B7=B3=E8=BD=AC=E5=88=B0?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=A6=96=E9=A1=B5=E6=AD=BB=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecgboot-vue3/src/router/guard/permissionGuard.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jeecgboot-vue3/src/router/guard/permissionGuard.ts b/jeecgboot-vue3/src/router/guard/permissionGuard.ts index 6774977e8..deb36d3c7 100644 --- a/jeecgboot-vue3/src/router/guard/permissionGuard.ts +++ b/jeecgboot-vue3/src/router/guard/permissionGuard.ts @@ -34,13 +34,20 @@ const whitePathList: PageEnum[] = [LOGIN_PATH, OAUTH2_LOGIN_PAGE_PATH,SYS_FILES_ export function createPermissionGuard(router: Router) { const userStore = useUserStoreWithOut(); const permissionStore = usePermissionStoreWithOut(); + + // 自定义首页跳转次数 + let homePathJumpCount = 0; + router.beforeEach(async (to, from, next) => { if ( + // 【#6861】跳转到自定义首页的逻辑,只跳转一次即可 + homePathJumpCount < 1 && from.path === ROOT_PATH && to.path === PageEnum.BASE_HOME && userStore.getUserInfo.homePath && userStore.getUserInfo.homePath !== PageEnum.BASE_HOME ) { + homePathJumpCount++; next(userStore.getUserInfo.homePath); return; } From 819555e61235251e3f6d105f11a61ec357e44db7 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Sat, 13 Jul 2024 18:08:34 +0800 Subject: [PATCH 049/108] =?UTF-8?q?=E3=80=90=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=99=A8=E4=B8=93=E9=A1=B9=E4=BC=98=E5=8C=96=E3=80=91?= =?UTF-8?q?=20=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=89=8D=E7=AB=AF=E6=9D=83=E9=99=90=E6=8C=87?= =?UTF-8?q?=E4=BB=A4v-auth=20=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=96=B0=E7=BB=84=E4=BB=B6JPopupDict=E5=AD=97?= =?UTF-8?q?=E5=85=B8=20=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E8=8C=83?= =?UTF-8?q?=E5=9B=B4=E6=8E=A7=E4=BB=B6=E6=9B=B4=E6=8D=A2=E7=BE=8E=E8=A7=82?= =?UTF-8?q?=E7=9A=84=E6=95=88=E6=9E=9C:=20=E6=97=A5=E6=9C=9F=E8=8C=83?= =?UTF-8?q?=E5=9B=B4=E3=80=81=E6=95=B0=E5=AD=97=E8=8C=83=E5=9B=B4=E3=80=81?= =?UTF-8?q?=E9=87=91=E9=A2=9D=E8=8C=83=E5=9B=B4=E7=AD=89=20=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=92=8C=E9=83=A8=E9=97=A8=E7=BB=84=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E7=94=9F=E6=88=90=E4=BB=A3=E7=A0=81=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E6=A0=B9=E6=8D=AEOnline=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=92=8C=E6=98=BE=E7=A4=BA=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=9D=A5=20=E5=8E=9F=E7=94=9F=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E6=A0=A1=E9=AA=8C=E4=B8=8D=E9=80=9A=E8=BF=87=EF=BC=8C?= =?UTF-8?q?=E6=9C=AA=E6=BB=9A=E5=88=B0=E6=9C=AA=E9=80=9A=E8=BF=87=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E7=9A=84=E5=AD=97=E6=AE=B5=20=E9=9D=9E=E5=8E=9F?= =?UTF-8?q?=E7=94=9F=E8=A1=A8=E5=8D=95=E6=A0=A1=E9=AA=8C=E4=B8=8D=E9=80=9A?= =?UTF-8?q?=E8=BF=87=EF=BC=8C=E6=9C=AA=E6=BB=9A=E5=88=B0=E6=9C=AA=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E6=A0=A1=E9=AA=8C=E7=9A=84=E5=AD=97=E6=AE=B5=20?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2=E8=A7=A6=E5=8F=91=E4=BA=86?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E4=BF=AE=E5=A4=8D=20ERP=E9=A3=8E=E6=A0=BC?= =?UTF-8?q?=E5=AD=90=E8=A1=A8=E6=93=8D=E4=BD=9C=E5=88=97=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=B5=AE=E5=8A=A8=20=E9=A1=B5=E9=9D=A2=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E4=B8=BA=E4=B8=8B=E6=8B=89=E6=A1=86=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E7=94=9F=E6=88=90=E7=9A=84=E5=89=8D=E7=AB=AFvue?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=86=97=E4=BD=99","=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=20int=E7=B1=BB=E5=9E=8B=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=9A=84=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=EF=BC=8C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E6=B8=B2=E6=9F=93=E6=88=90=E6=95=B0=E5=80=BC=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=A1=86=20=E6=97=A0=E8=AE=BA=E6=98=AF=E5=8E=9F?= =?UTF-8?q?=E7=94=9Ferp=E8=BF=98=E6=98=AF=E9=9D=9E=E5=8E=9F=E7=94=9F?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E9=80=89=E4=B8=AD=E4=B8=BB=E8=A1=A8=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=EF=BC=8C=E7=9B=B4=E6=8E=A5=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=AD=90=E8=A1=A8=EF=BC=8C=E5=8F=91=E7=8E=B0=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E4=BA=86=E6=89=80=E6=9C=89=E6=95=B0=E6=8D=AE=20=E4=B8=80?= =?UTF-8?q?=E5=AF=B9=E5=A4=9Aerp=EF=BC=8C=E4=B9=9F=E6=94=B9=E6=88=90?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E8=A1=8C=E5=B0=B1=E9=80=89=E4=B8=AD=20?= =?UTF-8?q?=E4=B8=80=E5=AF=B9Tab=E9=A3=8E=E6=A0=BC=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E7=BE=8E=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/native/vue3NativeComponents.ftl | 3 + .../common/form/native/vue3NativeForm.ftl | 15 ++- .../common/form/native/vue3NativeImport.ftl | 6 ++ .../common/form/native/vue3NativeSearch.ftl | 65 ++++--------- .../code-template-online/common/utils.ftl | 17 ++++ .../vue3/${entityName}List.vuei | 17 ++-- .../vue3/${entityName}__data.tsi | 49 +++++++++- .../vue3/components/${entityName}Modal.vuei | 12 ++- .../vue3Native/${entityName}List.vuei | 64 +++++++++++-- .../vue3Native/${entityName}__data.tsi | 2 +- .../components/${entityName}Form.vuei | 25 ++++- .../vue3/${entityName}List.vuei | 22 +++-- .../vue3/${entityName}__data.tsi | 49 +++++++++- .../vue3/components/${entityName}Modal.vuei | 12 ++- .../vue3Native/${entityName}List.vuei | 57 +++++++++++- .../vue3Native/${entityName}__data.tsi | 2 +- .../components/${entityName}Form.vuei | 25 ++++- .../vue3/${entityName}List.vuei | 19 ++-- .../vue3/${entityName}__data.tsi | 77 +++++++++++++++- .../${entityPackage}/vue3/[1-n]List.vuei | 1 + .../vue3/components/${entityName}Modal.vuei | 12 ++- .../vue3/components/[1-n]Modal.vuei | 11 ++- .../vue3Native/${entityName}List.vuei | 68 ++++++++++++-- .../vue3Native/${entityName}__data.tsi | 4 +- .../vue3Native/[1-n]List.vuei | 1 + .../components/${entityName}Form.vuei | 19 +++- .../vue3Native/components/[1-n]Form.vuei | 18 +++- .../vue3/${entityName}List.vuei | 21 +++-- .../vue3/${entityName}__data.tsi | 91 +++++++++++++++++-- .../vue3/components/${entityName}Modal.vuei | 8 +- .../vue3/components/[1-n]Form.vuei | 14 ++- .../vue3/${entityName}List.vuei | 21 +++-- .../vue3/${entityName}__data.tsi | 72 ++++++++++++++- .../vue3/components/${entityName}Modal.vuei | 8 +- .../vue3/components/[1-n]Form.vuei | 16 +++- .../vue3Native/${entityName}List.vuei | 67 ++++++++++++-- .../vue3Native/${entityName}__data.tsi | 2 +- .../components/${entityName}Form.vuei | 23 ++++- .../vue3Native/components/[1-n]Form.vuei | 28 +++++- .../vue3/${entityName}List.vuei | 21 +++-- .../vue3/${entityName}__data.tsi | 89 +++++++++++++++++- .../vue3/components/${entityName}Modal.vuei | 8 +- .../vue3/components/[1-n]Form.vuei | 16 +++- 43 files changed, 973 insertions(+), 204 deletions(-) diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeComponents.ftl b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeComponents.ftl index d38ed3694..30a4861f6 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeComponents.ftl +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeComponents.ftl @@ -13,6 +13,9 @@ <#if need_popup> JPopup, +<#if need_popup_dict> + JPopupDict, + <#if need_category> JCategorySelect, diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeForm.ftl b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeForm.ftl index 79de5503b..eadf11b79 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeForm.ftl +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeForm.ftl @@ -9,7 +9,7 @@ <#assign form_field_dictCode="${po.dictField}"> - + <#if po.classType =='date'> picker="${po.extendParams.picker}" v-model:value="formData.${po.fieldName}" value-format="YYYY-MM-DD" style="width: 100%" <#if po.readonly=='Y'>disabled allow-clear /> <#elseif po.classType =='datetime'> @@ -33,9 +33,18 @@ :multi="${po.extendParams.popupMulti?c}" :setFieldsValue="setFieldsValue" <#if po.readonly=='Y'>disabled<#rt> allow-clear /> + <#elseif po.classType =='popup_dict'> + <#assign need_popup_dict = true> + <#assign sourceFields = po.dictField?default("")?trim?split(",")/> + <#assign targetFields = po.dictText?default("")?trim?split(",")/> + disabled /> <#elseif po.classType =='sel_depart'> <#assign need_dept = true> - disabled allow-clear /> + labelKey="${po.extendParams.text}" <#if po.extendParams?exists && po.extendParams.store?exists>rowKey="${po.extendParams.store}" <#if po.readonly=='Y'>disabled :multiple="${po.extendParams.multi?default('true')}" checkStrictly <#if po.readonly=='Y'>disabled allow-clear /> <#elseif po.classType =='switch'> <#assign need_switch = true> :options="${po.dictField}" <#if po.readonly=='Y'>disabled> @@ -50,7 +59,7 @@ <#elseif po.classType =='sel_user'> <#assign need_dept_user = true> <#-- update-begin---author:chenrui ---date:20240102 for:[issue/#5711]修复用户选择组件在生成代码后变成部门用户选择组件---------- --> - disabled allow-clear /> + labelKey="${po.extendParams.text}" <#if po.extendParams?exists && po.extendParams.store?exists>rowKey="${po.extendParams.store}" <#if po.readonly=='Y'>disabled allow-clear /> <#-- update-end---author:chenrui ---date:20240102 for:[issue/#5711]修复用户选择组件在生成代码后变成部门用户选择组件---------- --> <#elseif po.classType =='textarea'> disabled/> diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeImport.ftl b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeImport.ftl index e2ea2d71d..5e0e88ef4 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeImport.ftl +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeImport.ftl @@ -13,6 +13,9 @@ <#if need_popup> import JPopup from '/@/components/Form/src/jeecg/components/JPopup.vue'; +<#if need_popup_dict> + import JPopupDict from '/@/components/Form/src/jeecg/components/JPopupDict.vue'; + <#if need_category> import JCategorySelect from '/@/components/Form/src/jeecg/components/JCategorySelect.vue'; @@ -47,4 +50,7 @@ <#if need_checkbox> import JCheckbox from "/@/components/Form/src/jeecg/components/JCheckbox.vue"; + +<#if need_range_number> + import JRangeNumber from "/@/components/Form/src/jeecg/components/JRangeNumber.vue"; \ No newline at end of file diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeSearch.ftl b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeSearch.ftl index c85ef1a64..96352c34e 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeSearch.ftl +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/form/native/vue3NativeSearch.ftl @@ -56,66 +56,41 @@ <#if query_field_no gt 1> ]" <#if query_field_no gt 1> :multi="${po.extendParams.popupMulti?c}" <#if query_field_no gt 1> :setFieldsValue="setFieldsValue" allow-clear /> + <#elseif po.classType=='popup_dict'> + <#if query_field_no gt 1> placeholder="请选择${po.filedComment}" + <#if query_field_no gt 1> v-model:value="queryParam.${po.fieldName}" + <#if query_field_no gt 1> dictCode="${po.dictTable},${po.dictText},${po.dictField}" + <#if query_field_no gt 1> :multi="${po.extendParams.popupMulti?c}" + <#if query_field_no gt 1> <#if po.readonly=='Y'>disabled /> <#elseif po.classType=='list' || po.classType=='radio' || po.classType=='checkbox'> - <#-- ---------------------------下拉或是单选 判断数据字典是表字典还是普通字典------------------------------- --> - <#if po.dictTable?default("")?trim?length gt 1> + <#-- ---------------------------下拉或是单选 判断数据字典是表字典还是普通字典------------------------------- --> + <#if po.dictTable?default("")?trim?length gt 1> <#if query_field_no gt 1> - <#elseif po.dictField?default("")?trim?length gt 1> + <#elseif po.dictField?default("")?trim?length gt 1> <#if query_field_no gt 1> - <#else> + <#else> <#if query_field_no gt 1> - + <#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'> <#if query_field_no gt 1> - <#else> + <#else> <#if query_field_no gt 1> - + <#if query_field_no gt 1> <#if query_field_no gt 1> <#else> <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1> + <#if query_field_no gt 1> + <#if query_field_no gt 1> <#if po.classType=='date'> - <#if query_field_no gt 1>
- <#if query_field_no gt 1> - <#if query_field_no gt 1> picker="${po.extendParams.picker}" v-model:value="queryParam.${po.fieldName}_begin" class="query-group-cust" allow-clear /> - <#if query_field_no gt 1> - <#if query_field_no gt 1> ~ - <#if query_field_no gt 1> - <#if query_field_no gt 1> picker="${po.extendParams.picker}" v-model:value="queryParam.${po.fieldName}_end" class="query-group-cust" allow-clear /> - <#if query_field_no gt 1> - <#if query_field_no gt 1>
+ <#if query_field_no gt 1> picker="${po.extendParams.picker}" v-model:value="queryParam.${po.fieldName}" class="query-group-cust"/> <#elseif po.classType=='time'> - <#if query_field_no gt 1>
- <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1> ~ - <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1>
+ <#if query_field_no gt 1> <#elseif po.classType=='datetime'> - <#if query_field_no gt 1>
- <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1> ~ - <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1>
+ <#if query_field_no gt 1> <#else> - <#if query_field_no gt 1>
- <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1> ~ - <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1> - <#if query_field_no gt 1>
+ <#if query_field_no gt 1> <#if query_field_no gt 1>
<#if query_field_no gt 1>
diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/utils.ftl b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/utils.ftl index f0dd8f0e6..b26a3bc75 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/utils.ftl +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/utils.ftl @@ -149,6 +149,8 @@ <#-- update-begin---author:chenrui ---date:20231228 for:fix 带条件字典存在单引号导致js编译错误---------- --> <#elseif po.dictField?default("")?trim?length gt 1> <#assign dictCode="dictCode: '${po.dictField}'"> + <#else> + <#assign dictCode="dictCode: ''"> <#if po.classType=='list' || po.classType=='list_multi' || po.classType=='sel_search' || po.classType=='checkbox' || po.classType=='radio'> @@ -229,4 +231,19 @@ <#return flag> + + +<#-- vue3 native 获取范围字段 --> +<#function getRangeField(columns) > + <#assign rangeField = ""> + <#list columns as po> + <#if po.isQuery=='Y'> + <#if po.queryMode!='single'> + <#if po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal' || po.classType=='time' || po.classType=='date' || po.classType=='datetime'> + <#assign rangeField = rangeField + "${po.fieldName},"> + + + + + <#return rangeField> \ No newline at end of file diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei index c58235625..fc879096a 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/default/one/java/${bussiPackage}/${entityPackage}/vue3/${entityName}List.vuei @@ -21,9 +21,9 @@