Compare commits

...

135 Commits

Author SHA1 Message Date
197d7adaaf Merge pull request #8256 from MuShan-bit/springboot3-chore-upgrade-shiro
upgrade shiro to 2.0.4
2025-05-11 10:34:23 +08:00
e952518d71 feat: 升级 shiro 到 2.0.4 版本 2025-05-10 22:14:02 +08:00
2ba17648c4 Merge pull request #8116 from EightMonth/springboot3
优化swagger文档改造
2025-04-15 11:41:44 +08:00
36caab37e2 Update application-mysql.yml 2025-04-15 11:07:54 +08:00
6e721e4120 归集spring-doc默认配置
(cherry picked from commit d4d0c884f0)
2025-04-15 10:39:05 +08:00
a17b403675 优化swagger文档架构改造 2025-04-03 17:46:11 +08:00
632fd72d79 Merge pull request #8053 from EightMonth/springboot3
排除部分接口文档,为免登录接口排除token校验请求头
2025-04-01 21:28:44 +08:00
15fc262675 排除部分接口文档,为免登录接口排除token校验请求头 2025-04-01 18:05:04 +08:00
6768d65e1e Merge pull request #8008 from EightMonth/springboot3
修复 CVE-2023-6378
2025-03-25 16:02:57 +08:00
410ab7bcc3 修复 CVE-2023-6378 2025-03-25 15:58:19 +08:00
174f1ae432 Merge pull request #8004 from EightMonth/springboot3
jeewx-api修改成weixin4j
2025-03-25 14:19:42 +08:00
eef2f7e269 jeewx-api修改成weixin4j 2025-03-25 14:13:45 +08:00
6a0ec66d3d Merge branch 'springboot3' of https://github.com/jeecgboot/jeecg-boot into springboot3 2025-03-25 14:10:17 +08:00
163b0b531f 视频介绍 2025-03-18 10:08:05 +08:00
d1af49a33f Merge pull request #7949 from EightMonth/springboot3
解决严重bug,War包方式部署,服务启动报错
2025-03-12 15:28:07 +08:00
03265691e6 解决严重bug,War包方式部署,服务启动报错 2025-03-12 14:12:00 +08:00
de9cc2f30d Merge pull request #7874 from EightMonth/springboot3
修复 #7613
2025-03-03 17:05:01 +08:00
26887959cd 修复 #7613 2025-03-03 14:27:16 +08:00
7e15e81218 版本合并,升级springboot3分支到3.7.3 2025-02-20 17:56:16 +08:00
45f905ddac Merge branch 'master' of https://github.com/zhangdaiscott/jeecg-boot 2025-02-19 18:45:26 +08:00
55696efcaa jimureport、jimubi升级到最新版1.9.4,补充权限注解 2025-02-19 18:45:14 +08:00
3671b81f01 Merge pull request #7564 from EightMonth/master
keys替换scan问题 修复 #6918 #6876
2025-02-19 18:42:09 +08:00
74ad7e6f92 jimureport、jimubi升级到最新版1.9.4 2025-02-19 15:03:07 +08:00
49d55a79f4 当用户没有角色保存操作权限时候操作角色保存仅保存和保存并关闭按钮会一直转圈不可用 2025-02-19 10:24:00 +08:00
8395d106a2 【issues/7773】合计没有跟着左右滚动条滚动 2025-02-19 10:23:10 +08:00
d716111ded 生成代码的时候,选择原生表单(form) 就会出错 #7817 2025-02-19 10:00:45 +08:00
81b4cbbe35 修复问题:线上ai助手后端内容一次性返回,消息不显示 2025-02-13 20:00:15 +08:00
86cfc18fe8 优化AI图标 2025-02-12 20:10:21 +08:00
98ba72ae4b 关注公众号了解官方动态 2025-02-12 10:45:52 +08:00
8b0e0367c7 Merge pull request #7797 from EightMonth/springboot3
固定vue-router版本号
2025-02-11 14:49:06 +08:00
334f7dbb62 Update package.json 2025-02-11 14:24:18 +08:00
29248561d6 修复第三方登录接口通过token获取用户信息漏洞 2025-02-11 11:37:55 +08:00
ad74b78134 JSelectUserByDept组件的params可选参数似乎不起作用 #7758 2025-02-11 11:32:10 +08:00
bd716417e8 【issues/7738】文件中带"success"导出报错 2025-02-11 11:30:10 +08:00
e9ddd21286 固定vue-router版本号 2025-02-11 09:53:29 +08:00
1acb773adf 完善OpenApi模块文档 2025-02-10 15:51:17 +08:00
2b0bedd263 完善openapi,移除过期sql 2024-12-27 14:23:01 +08:00
458526075e Merge remote-tracking branch 'origin/springboot3' into springboot3 2024-12-24 15:44:51 +08:00
a1b55f0d40 解决vue-router升级版本报错问题 2024-12-24 15:44:27 +08:00
ee382c0a5b 全流程跑通 2024-12-21 23:50:07 +08:00
f7f6d0ff88 openapi全量功能 2024-12-20 17:53:45 +08:00
00252f392f keys替换scan问题 修复 #6918 #6876 2024-12-10 16:24:31 +08:00
2f0a3bcd87 Merge pull request #7379 from EightMonth/springboot3
分布式事务demo修复
2024-11-20 10:31:10 +08:00
30d3a9f17b 分布式事务demo修复 2024-10-24 09:15:06 +08:00
03739f2837 【springboot3分支 issues/7353】The bean 'dataSource', defined in class path resource #7353 2024-10-19 20:18:35 +08:00
d9e8bd2bc8 Merge pull request #7317 from EightMonth/springboot3
修改docker镜像base为JDK17
2024-10-09 16:08:38 +08:00
81eef5a838 修改docker镜像base为JDK17 2024-10-09 16:05:22 +08:00
f528f72903 升级仪表盘到最新版 2024-10-08 22:33:29 +08:00
918286c144 升级online模块和autopoi 2024-10-08 21:18:18 +08:00
512234a804 【版本合并】 branch 'origin/master' into springboot3 2024-10-08 19:30:14 +08:00
cacc59b8fd 升级jimureport到最新版1.7.8 2024-07-08 12:18:09 +08:00
c744633139 升级jimureport到最新版1.7.7 2024-07-06 22:20:36 +08:00
0e4d304878 升级仪表盘 2024-07-03 11:56:53 +08:00
17a8964487 更新online模块为3.7.0最新依赖 2024-07-03 11:09:15 +08:00
8ac6989d2c Merge remote-tracking branch 'origin/master' into springboot3 2024-06-23 11:22:06 +08:00
402ab0ffc4 补充合并丢失的代码 2024-06-23 10:27:33 +08:00
7778ede90e Merge remote-tracking branch 'origin/master' into springboot3
# Conflicts:
#	jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java
#	jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/UndertowCustomizer.java
#	jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysFilesController.java
#	jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysFiles.java
2024-06-23 10:23:56 +08:00
06144206df 修改nacos命名空间springboot3的id也是springboot3,方便理解 2024-06-22 23:23:05 +08:00
3d3b5850ad online的依赖升级个小版本号 2024-06-22 17:18:59 +08:00
816eeb9225 3.7.0版本合并springboot3分支
本次提交未升级【minidao、仪表盘、online的依赖】
2024-06-22 17:03:43 +08:00
0b42efbbbf Merge remote-tracking branch 'origin/springboot3' into springboot3 2024-06-22 14:58:29 +08:00
b8e0d4391d Merge pull request #6200 from EightMonth/springboot3
修复 #6169
2024-04-30 13:52:00 +08:00
72b34d082b 修复 #6169 2024-04-30 11:53:59 +08:00
7112649a21 Merge branch 'springboot3' of https://github.com/jeecgboot/jeecg-boot into springboot3 2024-04-26 11:06:35 +08:00
fbc312c35d Merge pull request #6173 from EightMonth/springboot3
修复#6127 #6130
2024-04-25 20:04:26 +08:00
b8162a4a6d 修复#6127 #6130 2024-04-25 16:01:58 +08:00
28404d2fd3 Merge pull request #6091 from EightMonth/springboot3
升级druid v1.2.22版本兼容处理
2024-04-08 15:26:49 +08:00
c92c9be49a 升级druid v1.2.22版本兼容处理 2024-04-08 14:04:07 +08:00
58e85e0569 Merge pull request #6081 from EightMonth/springboot3
升级druid1.2.22版本兼容处理
2024-04-03 16:35:30 +08:00
6fc34d8a39 升级druid1.2.22版本兼容处理 2024-04-03 16:18:31 +08:00
790df934b5 Merge branch 'springboot3' of https://github.com/jeecgboot/jeecg-boot into springboot3
 Conflicts:
	pom.xml
2024-03-30 23:39:54 +08:00
8aee4011a2 Merge pull request #6036 from EightMonth/springboot3
合并master变更,升级 3.6.3
2024-03-25 15:32:01 +08:00
6e0277c60a 升级druid版本,修复 #5936 2024-03-25 14:37:00 +08:00
e923654161 升级jimu版本至1.7.3,屏蔽flyway 2024-03-25 10:52:37 +08:00
06b41ae479 Merge branch 'master' into springboot3
# Conflicts:
#	db/tables_nacos.sql
#	jeecg-boot-base-core/pom.xml
#	jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger2Config.java
#	jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
#	jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysFilesController.java
#	jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleIndexController.java
#	jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysFiles.java
#	jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.java
#	jeecg-module-system/jeecg-system-start/pom.xml
#	jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml
#	jeecg-server-cloud/jeecg-cloud-gateway/pom.xml
#	jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/pom.xml
#	pom.xml
2024-03-25 09:39:13 +08:00
11af85d87a springboot3, 积木报表 聚合分组查询失败 #2398 2024-03-04 21:12:35 +08:00
4caff75cce Merge pull request #5935 from EightMonth/springboot3_config
修正spring boot3默认配置
2024-03-01 16:24:33 +08:00
811861a957 添加nacos sql自动创建nacos库 2024-03-01 16:15:06 +08:00
24623ba4b0 梳理服务配置信息 2024-03-01 16:06:12 +08:00
7c68b46943 添加springboot3的配置变更 2024-03-01 16:04:57 +08:00
7c34161369 删除无用文件 2024-02-29 17:41:13 +08:00
bc52aa918d gateway的配置改坏了,导致命名空间等不好使 2024-02-29 17:30:04 +08:00
9dfdd47b36 springboot3版本的仪表盘依赖有问题,升级一个版本 2024-01-12 11:32:26 +08:00
272a7540eb 仪表盘升级为springboot3版本 2024-01-12 11:00:51 +08:00
ad796f079f flywaydb兼容springboot3报错,先注释掉 2024-01-12 11:00:37 +08:00
e7e7716d05 Merge pull request #5782 from EightMonth/springboot3
同步主干分支版本代码,并升级jedis至3.8.0
2024-01-12 10:39:24 +08:00
c5d620d2b2 升级jedis版本至3.8.0 2024-01-08 13:54:04 +08:00
cdea05ebb0 Merge branch 'master' into springboot3
# Conflicts:
#	jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
#	jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/entity/JeecgDemo.java
#	jeecg-module-system/jeecg-system-biz/pom.xml
#	jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTableWhiteListController.java
#	jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/WechatVerifyController.java
#	jeecg-module-system/jeecg-system-start/pom.xml
#	jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/pom.xml
#	pom.xml
2024-01-08 13:52:33 +08:00
ca9a433f3c Merge pull request #5765 from hoperunChen/springboot3-fix-#5723
fix issue for springboot3 #5723: 指定jaxb-runtime版本,添加修改记录
2024-01-04 21:41:11 +08:00
2be6052cd4 Merge pull request #5766 from hoperunChen/springboot3-fix-#5742
fix issue for springboot3 #5742: 修改代码生成时的schema注解参数
2024-01-04 21:40:53 +08:00
68ed67ee49 shiro 无法使用 spring boot 3.X 自带的jedis,降版本处理 Merge pull request #5767 from hoperunChen/springboot3-fix-#5741
fix issue for springboot3 #5741: shiro 无法使用 spring boot 3.X 自带的jedis,降版本处理
2024-01-04 21:40:31 +08:00
d5903ba52a Merge remote-tracking branch 'upstream/springboot3' into springboot3-fix-#5741 2024-01-04 20:37:37 +08:00
3ee635eddf fix issue for springboot3 #5723: 指定jaxb-runtime版本,添加修改记录 2024-01-04 20:32:26 +08:00
21bc68fb53 fix issue for springboot3 #5741: shiro 无法使用 spring boot 3.X 自带的jedis,降版本处理 2024-01-04 20:19:46 +08:00
f532e57862 解决升级到springboot3, 表单excel导出失败,找不到 javax/servlet/ServletOutputStream #5738 2024-01-03 17:26:41 +08:00
da08adbea1 fix issue for springboot3 #5742: 修改代码生成时的schema注解参数 2024-01-02 13:41:54 +08:00
46e3e62b59 fix issue for springboot3 #5741: shiro 无法使用 spring boot 3.X 自带的jedis,降版本处理 2024-01-02 13:31:57 +08:00
3656264f8a 提供积木报表fastjson2版本 2023-12-28 22:34:23 +08:00
3361d48cd4 Merge branch 'springboot3' of https://github.com/zhangdaiscott/jeecg-boot into springboot3 2023-12-28 11:03:26 +08:00
ed86ea3da1 默认不需要nosql支持包 2023-12-28 11:03:10 +08:00
3deb0e5487 Merge pull request #5730 from EightMonth/springboot3
修改自动生成接口文档范围
2023-12-28 10:49:10 +08:00
9e4792941e 修改自动秣接口文档范围 2023-12-28 10:43:58 +08:00
b5fd5fe782 Merge pull request #5716 from EightMonth/springboot3
升级fastjson至2.0.43,替换tomcat为undertow
2023-12-26 17:21:30 +08:00
33c0104a02 增加undertow配置到test\prod 环境 2023-12-26 17:11:54 +08:00
81ed5100af 补充注释 2023-12-26 16:42:24 +08:00
87f9dc0064 去除无意义内容 2023-12-26 15:17:50 +08:00
b311fedc6b 升级fastjson至2.0.43,替换tomcat为undertow 2023-12-26 15:03:35 +08:00
e321a0405f 升级aliyun.oss和minio的依赖 2023-12-26 10:01:57 +08:00
d8bc74794d 仪表盘也支持springboot3 2023-12-21 15:31:12 +08:00
732f05dc74 提供springboot3版本的online依赖支持 2023-12-21 14:57:14 +08:00
6ce92798c6 Merge pull request #5704 from EightMonth/springboot3
升级jeecg 3.6.1版本
2023-12-21 11:46:59 +08:00
f4454e9348 Merge branch 'springboot3' into springboot3 2023-12-21 09:52:14 +08:00
d9134ae0c8 Update WechatVerifyController.java 2023-12-21 09:46:52 +08:00
25180e41c8 更新minidao支持springboot3版本 2023-12-21 09:29:16 +08:00
a99e3f2268 更新积木报表支持springboot3版本 2023-12-21 09:28:00 +08:00
d27c354bf1 修改错误的配置 2023-12-21 09:26:40 +08:00
d818b1dd9d 更新jeecg-boot-starter3依赖 2023-12-21 09:26:39 +08:00
bcdbec0091 更新jeecg-boot-starter3依赖 2023-12-21 09:26:39 +08:00
098bb12b9e 更改jeecg-boot-starter3依赖 2023-12-21 09:26:39 +08:00
4a6c750b19 为注释内容添加注释原因 2023-12-21 09:26:39 +08:00
d396e5304a Update pom.xml 2023-12-21 09:26:38 +08:00
9bed25be8c spring3 2023-12-21 09:26:30 +08:00
7109b42092 Merge pull request #5698 from EightMonth/springboot3
更新积木报表、Minidao支持Springboot3版本
2023-12-20 10:10:51 +08:00
1667b14194 更新minidao支持springboot3版本 2023-12-20 10:00:14 +08:00
e9514873d2 更新积木报表支持springboot3版本 2023-12-19 14:31:17 +08:00
0ee090664e 修改错误的配置 2023-11-13 20:03:53 +08:00
4a9eda4ab0 Merge pull request #5567 from EightMonth/spring3
更新jeecg-boot-starter3依赖
2023-11-13 18:45:02 +08:00
2416c8b251 更新jeecg-boot-starter3依赖 2023-11-13 16:19:22 +08:00
5b056f9dd6 更新jeecg-boot-starter3依赖 2023-11-13 16:12:46 +08:00
a93998dc56 Merge pull request #5566 from EightMonth/spring3
更改jeecg-boot-starter3依赖
2023-11-13 15:43:21 +08:00
268c27a782 更改jeecg-boot-starter3依赖 2023-11-13 15:34:25 +08:00
23ace2712a Merge pull request #5563 from EightMonth/spring3
Spring Boot3 & JDK 17
2023-11-13 09:49:04 +08:00
157feeb925 为注释内容添加注释原因 2023-11-06 14:16:02 +08:00
4e25d4162f Update pom.xml 2023-11-06 14:11:23 +08:00
47a68f31e1 spring3 2023-11-06 12:41:57 +08:00
272 changed files with 2136 additions and 1758 deletions

View File

@ -35,6 +35,12 @@ JeecgBoot 提供了一系列 `AI能力` `低代码模块`,实现在线开发`
JeecgBoot AI低代码平台可以应用在任何J2EE项目的开发中支持信创国产化默认适配达梦和人大金仓。尤其适合SAAS项目、企业信息管理系统MIS、内部办公系统OA、企业资源计划系统ERP、客户关系管理系统CRM其半智能手工Merge的开发方式可以显著提高开发效率70%以上,极大降低开发成本。 JeecgBoot AI低代码平台可以应用在任何J2EE项目的开发中支持信创国产化默认适配达梦和人大金仓。尤其适合SAAS项目、企业信息管理系统MIS、内部办公系统OA、企业资源计划系统ERP、客户关系管理系统CRM其半智能手工Merge的开发方式可以显著提高开发效率70%以上,极大降低开发成本。
### 视频介绍
[![](https://upload.jeecg.com/jeecg/qiaoqiaoyunsite/jeecgvideo02.png)](https://www.bilibili.com/video/BV1Nk4y1o7Qc)
#### 项目说明 #### 项目说明
| 项目名 | 说明 | | 项目名 | 说明 |
@ -79,9 +85,9 @@ AIGC功能清单
- AI聊天窗口支持嵌入第三方研发中 - AI聊天窗口支持嵌入第三方研发中
<b>关注公众号获取最新版资讯</b> <b>关注公众号了解官方动态</b>
![公众号](https://jeecg.com/images/jeecg/qrcode_ai_8.jpg "在这里输入图片标题") ![公众号](https://jeecg.com/images/jeecg/qrcode_jeecgboot.jpg "在这里输入图片标题")
技术架构: 技术架构:

File diff suppressed because one or more lines are too long

View File

@ -9,6 +9,10 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>jeecg-boot-base-core</artifactId> <artifactId>jeecg-boot-base-core</artifactId>
<properties>
<spring-boot.version>3.1.5</spring-boot.version>
</properties>
<repositories> <repositories>
<repository> <repository>
<id>aliyun</id> <id>aliyun</id>
@ -43,12 +47,22 @@
<!--jeecg-tools--> <!--jeecg-tools-->
<dependency> <dependency>
<groupId>org.jeecgframework.boot</groupId> <groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-common</artifactId> <artifactId>jeecg-boot-common3</artifactId>
</dependency> </dependency>
<!--集成springmvc框架并实现自动配置 --> <!--集成springmvc框架并实现自动配置 -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency> </dependency>
<!-- websocket --> <!-- websocket -->
<dependency> <dependency>
@ -105,14 +119,14 @@
<!-- druid --> <!-- druid -->
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId> <artifactId>druid-spring-boot-3-starter</artifactId>
<version>${druid.version}</version> <version>${druid.version}</version>
</dependency> </dependency>
<!-- 动态数据源 --> <!-- 动态数据源 -->
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId> <artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
<version>${dynamic-datasource-spring-boot-starter.version}</version> <version>${dynamic-datasource-spring-boot-starter.version}</version>
</dependency> </dependency>
@ -164,6 +178,7 @@
<version>${dm8.version}</version> <version>${dm8.version}</version>
</dependency> </dependency>
<!-- Quartz定时任务 --> <!-- Quartz定时任务 -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
@ -181,7 +196,14 @@
<dependency> <dependency>
<groupId>org.apache.shiro</groupId> <groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-starter</artifactId> <artifactId>shiro-spring-boot-starter</artifactId>
<classifier>jakarta</classifier>
<version>${shiro.version}</version> <version>${shiro.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<!-- shiro-redis --> <!-- shiro-redis -->
<dependency> <dependency>
@ -197,18 +219,61 @@
<artifactId>checkstyle</artifactId> <artifactId>checkstyle</artifactId>
<groupId>com.puppycrawl.tools</groupId> <groupId>com.puppycrawl.tools</groupId>
</exclusion> </exclusion>
<!-- TODO shiro 无法使用 spring boot 3.X 自带的jedis降版本处理 -->
<exclusion>
<artifactId>jedis</artifactId>
<groupId>redis.clients</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- TODO shiro 无法使用 spring boot 3.X 自带的jedis降版本处理 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<classifier>jakarta</classifier>
<version>${shiro.version}</version>
<!-- 排除仍使用了javax.servlet的依赖 -->
<exclusions>
<exclusion>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 引入适配jakarta的依赖包 -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<classifier>jakarta</classifier>
<version>${shiro.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<classifier>jakarta</classifier>
<version>${shiro.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
</exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<!-- knife4j --> <!-- knife4j -->
<!-- <dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>-->
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>${knife4j-spring-boot-starter.version}</version> <version>${knife4j-spring-boot-starter.version}</version>
</dependency> </dependency>
@ -222,7 +287,7 @@
<!-- AutoPoi Excel工具类--> <!-- AutoPoi Excel工具类-->
<dependency> <dependency>
<groupId>org.jeecgframework</groupId> <groupId>org.jeecgframework.boot3</groupId>
<artifactId>autopoi-web</artifactId> <artifactId>autopoi-web</artifactId>
<version>${autopoi-web.version}</version> <version>${autopoi-web.version}</version>
<exclusions> <exclusions>
@ -265,6 +330,16 @@
<dependency> <dependency>
<groupId>com.xkcoding.justauth</groupId> <groupId>com.xkcoding.justauth</groupId>
<artifactId>justauth-spring-boot-starter</artifactId> <artifactId>justauth-spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.squareup.okhttp3</groupId> <groupId>com.squareup.okhttp3</groupId>
@ -292,7 +367,7 @@
<!-- chatgpt --> <!-- chatgpt -->
<dependency> <dependency>
<groupId>org.jeecgframework.boot</groupId> <groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-starter-chatgpt</artifactId> <artifactId>jeecg-boot-starter3-chatgpt</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -2,7 +2,7 @@ package org.jeecg.common.api.dto;
import lombok.Data; import lombok.Data;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.Serializable; import java.io.Serializable;
/** /**

View File

@ -1,8 +1,7 @@
package org.jeecg.common.api.vo; package org.jeecg.common.api.vo;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;
@ -15,7 +14,7 @@ import java.io.Serializable;
* @date 2019年1月19日 * @date 2019年1月19日
*/ */
@Data @Data
@ApiModel(value="接口返回对象", description="接口返回对象") @Schema(description="接口返回对象")
public class Result<T> implements Serializable { public class Result<T> implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -23,31 +22,31 @@ public class Result<T> implements Serializable {
/** /**
* 成功标志 * 成功标志
*/ */
@ApiModelProperty(value = "成功标志") @Schema(description = "成功标志")
private boolean success = true; private boolean success = true;
/** /**
* 返回处理消息 * 返回处理消息
*/ */
@ApiModelProperty(value = "返回处理消息") @Schema(description = "返回处理消息")
private String message = ""; private String message = "";
/** /**
* 返回代码 * 返回代码
*/ */
@ApiModelProperty(value = "返回代码") @Schema(description = "返回代码")
private Integer code = 0; private Integer code = 0;
/** /**
* 返回数据对象 data * 返回数据对象 data
*/ */
@ApiModelProperty(value = "返回数据对象") @Schema(description = "返回数据对象")
private T result; private T result;
/** /**
* 时间戳 * 时间戳
*/ */
@ApiModelProperty(value = "时间戳") @Schema(description = "时间戳")
private long timestamp = System.currentTimeMillis(); private long timestamp = System.currentTimeMillis();
public Result() { public Result() {

View File

@ -21,13 +21,14 @@ import org.jeecg.common.util.IpUtils;
import org.jeecg.common.util.SpringContextUtils; import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.springframework.core.LocalVariableTableParameterNameDiscoverer; import org.springframework.core.LocalVariableTableParameterNameDiscoverer;
import org.springframework.core.StandardReflectionParameterNameDiscoverer;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import javax.servlet.ServletRequest; import jakarta.servlet.ServletRequest;
import javax.servlet.ServletResponse; import jakarta.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Date; import java.util.Date;
@ -172,7 +173,7 @@ public class AutoLogAspect {
// 请求的方法参数值 // 请求的方法参数值
Object[] args = joinPoint.getArgs(); Object[] args = joinPoint.getArgs();
// 请求的方法参数名称 // 请求的方法参数名称
LocalVariableTableParameterNameDiscoverer u = new LocalVariableTableParameterNameDiscoverer(); StandardReflectionParameterNameDiscoverer u=new StandardReflectionParameterNameDiscoverer();
String[] paramNames = u.getParameterNames(method); String[] paramNames = u.getParameterNames(method);
if (args != null && paramNames != null) { if (args != null && paramNames != null) {
for (int i = 0; i < args.length; i++) { for (int i = 0; i < args.length; i++) {

View File

@ -21,7 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.List; import java.util.List;

View File

@ -1,6 +1,8 @@
package org.jeecg.common.exception; package org.jeecg.common.exception;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
@ -30,8 +32,6 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.multipart.MaxUploadSizeExceededException; import org.springframework.web.multipart.MaxUploadSizeExceededException;
import org.springframework.web.servlet.NoHandlerFoundException; import org.springframework.web.servlet.NoHandlerFoundException;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Map; import java.util.Map;
/** /**

View File

@ -23,9 +23,9 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;

View File

@ -9,10 +9,10 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import io.swagger.v3.oas.annotations.media.Schema;
/** /**
* @Description: Entity基类 * @Description: Entity基类
@ -30,20 +30,20 @@ public class JeecgEntity implements Serializable {
* ID * ID
*/ */
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "ID") @Schema(description = "ID")
private java.lang.String id; private java.lang.String id;
/** /**
* 创建人 * 创建人
*/ */
@ApiModelProperty(value = "创建人") @Schema(description = "创建人")
@Excel(name = "创建人", width = 15) @Excel(name = "创建人", width = 15)
private java.lang.String createBy; private java.lang.String createBy;
/** /**
* 创建时间 * 创建时间
*/ */
@ApiModelProperty(value = "创建时间") @Schema(description = "创建时间")
@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ -52,14 +52,14 @@ public class JeecgEntity implements Serializable {
/** /**
* 更新人 * 更新人
*/ */
@ApiModelProperty(value = "更新人") @Schema(description = "更新人")
@Excel(name = "更新人", width = 15) @Excel(name = "更新人", width = 15)
private java.lang.String updateBy; private java.lang.String updateBy;
/** /**
* 更新时间 * 更新时间
*/ */
@ApiModelProperty(value = "更新时间") @Schema(description = "更新时间")
@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") @Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")

View File

@ -5,7 +5,7 @@ import org.jeecg.common.system.vo.SysUserCacheInfo;
import org.jeecg.common.util.SpringContextUtils; import org.jeecg.common.util.SpringContextUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@ -6,6 +6,19 @@ import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.exceptions.JWTDecodeException; import com.auth0.jwt.exceptions.JWTDecodeException;
import com.auth0.jwt.interfaces.DecodedJWT; import com.auth0.jwt.interfaces.DecodedJWT;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Joiner;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import java.util.Objects;
import java.util.stream.Collectors;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
@ -20,16 +33,6 @@ import org.jeecg.common.util.DateUtils;
import org.jeecg.common.util.SpringContextUtils; import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* @Author Scott * @Author Scott
* @Date 2018-07-12 14:23 * @Date 2018-07-12 14:23

View File

@ -5,7 +5,7 @@ import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
/** /**
* *

View File

@ -19,7 +19,7 @@ import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.util.FileCopyUtils; import org.springframework.util.FileCopyUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;

View File

@ -1,10 +1,10 @@
package org.jeecg.common.util; package org.jeecg.common.util;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.FilenameUtils;
import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.exception.JeecgBootException;
import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;

View File

@ -4,13 +4,13 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.constant.SymbolConstant; import org.jeecg.common.constant.SymbolConstant;
import org.jeecg.common.handler.IFillRuleHandler; import org.jeecg.common.handler.IFillRuleHandler;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import javax.servlet.http.HttpServletRequest;
/** /**

View File

@ -1,6 +1,6 @@
package org.jeecg.common.util; package org.jeecg.common.util;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;

View File

@ -1,7 +1,7 @@
package org.jeecg.common.util; package org.jeecg.common.util;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.ServiceNameConstants; import org.jeecg.common.constant.ServiceNameConstants;

View File

@ -11,7 +11,7 @@ import org.jeecg.common.exception.JeecgBoot401Exception;
import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.system.vo.LoginUser;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
/** /**
* @Author scott * @Author scott

View File

@ -1,6 +1,6 @@
package org.jeecg.common.util.encryption; package org.jeecg.common.util.encryption;
import org.apache.shiro.codec.Base64; import org.apache.shiro.lang.codec.Base64;
import javax.crypto.Cipher; import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.IvParameterSpec;

View File

@ -9,7 +9,7 @@ import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.SymbolConstant; import org.jeecg.common.constant.SymbolConstant;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
@ -463,7 +463,7 @@ public class oConvertUtils {
return false; return false;
} }
String[] childs = childArray.toArray(new String[]{}); String[] childs = (String[]) childArray.toArray();
for (String v : childs) { for (String v : childs) {
if (!isIn(v, all)) { if (!isIn(v, all)) {
return false; return false;

View File

@ -3,7 +3,7 @@ package org.jeecg.config;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import org.jeecg.common.api.CommonAPI; import org.jeecg.common.api.CommonAPI;
import org.jeecg.common.system.vo.DictModel; import org.jeecg.common.system.vo.DictModel;

View File

@ -2,7 +2,9 @@ package org.jeecg.config;
import java.io.IOException; import java.io.IOException;
import javax.servlet.*; import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure;
import com.alibaba.druid.spring.boot3.autoconfigure.properties.DruidStatProperties;
import jakarta.servlet.*;
import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@ -11,8 +13,6 @@ import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
import com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties;
import com.alibaba.druid.util.Utils; import com.alibaba.druid.util.Utils;
/** /**

View File

@ -12,6 +12,7 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
* @author eightmonth@qq.com
* 启动程序修改DruidWallConfig配置 * 启动程序修改DruidWallConfig配置
* 允许SELECT语句的WHERE子句是一个永真条件 * 允许SELECT语句的WHERE子句是一个永真条件
* @author eightmonth * @author eightmonth

View File

@ -1,188 +1,188 @@
package org.jeecg.config; //package org.jeecg.config;
//
//
import io.swagger.annotations.ApiOperation; //import io.swagger.annotations.ApiOperation;
import org.jeecg.common.constant.CommonConstant; //import org.jeecg.common.constant.CommonConstant;
import org.jeecg.config.mybatis.MybatisPlusSaasConfig; //import org.jeecg.config.mybatis.MybatisPlusSaasConfig;
import org.springframework.beans.BeansException; //import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor; //import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.annotation.Bean; //import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; //import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import; //import org.springframework.context.annotation.Import;
import org.springframework.util.ReflectionUtils; //import org.springframework.util.ReflectionUtils;
import org.springframework.web.bind.annotation.RestController; //import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; //import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; //import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping; //import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration; //import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
import springfox.documentation.builders.ApiInfoBuilder; //import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder; //import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors; //import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors; //import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef; //import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.*; //import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType; //import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext; //import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket; //import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider; //import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; //import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
//
import java.lang.reflect.Field; //import java.lang.reflect.Field;
import java.util.ArrayList; //import java.util.ArrayList;
import java.util.Collections; //import java.util.Collections;
import java.util.List; //import java.util.List;
import java.util.stream.Collectors; //import java.util.stream.Collectors;
//
/** ///**
* @Author scott // * @Author scott
*/ // */
@Configuration //@Configuration
@EnableSwagger2WebMvc //@EnableSwagger2WebMvc
@Import(BeanValidatorPluginsConfiguration.class) //@Import(BeanValidatorPluginsConfiguration.class)
public class Swagger2Config implements WebMvcConfigurer { //public class Swagger2Config implements WebMvcConfigurer {
//
/** // /**
* // *
* 显示swagger-ui.html文档展示页还必须注入swagger资源 // * 显示swagger-ui.html文档展示页还必须注入swagger资源
* // *
* @param registry // * @param registry
*/ // */
@Override // @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) { // public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); // registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); // registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); // registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
} // }
//
/** // /**
* swagger2的配置文件这里可以配置swagger2的一些基本的内容比如扫描的包等等 // * swagger2的配置文件这里可以配置swagger2的一些基本的内容比如扫描的包等等
* // *
* @return Docket // * @return Docket
*/ // */
@Bean(value = "defaultApi2") // @Bean(value = "defaultApi2")
public Docket defaultApi2() { // public Docket defaultApi2() {
return new Docket(DocumentationType.SWAGGER_2) // return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo()) // .apiInfo(apiInfo())
.select() // .select()
//此包路径下的类,才生成接口文档 // //此包路径下的类,才生成接口文档
.apis(RequestHandlerSelectors.basePackage("org.jeecg")) // .apis(RequestHandlerSelectors.basePackage("org.jeecg"))
//加了ApiOperation注解的类才生成接口文档 // //加了ApiOperation注解的类才生成接口文档
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class)) // .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) // .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any()) // .paths(PathSelectors.any())
.build() // .build()
.securitySchemes(Collections.singletonList(securityScheme())) // .securitySchemes(Collections.singletonList(securityScheme()))
.securityContexts(securityContexts()) // .securityContexts(securityContexts())
.globalOperationParameters(setHeaderToken()); // .globalOperationParameters(setHeaderToken());
} // }
//
/*** // /***
* oauth2配置 // * oauth2配置
* 需要增加swagger授权回调地址 // * 需要增加swagger授权回调地址
* http://localhost:8888/webjars/springfox-swagger-ui/o2c.html // * http://localhost:8888/webjars/springfox-swagger-ui/o2c.html
* @return // * @return
*/ // */
@Bean // @Bean
SecurityScheme securityScheme() { // SecurityScheme securityScheme() {
return new ApiKey(CommonConstant.X_ACCESS_TOKEN, CommonConstant.X_ACCESS_TOKEN, "header"); // return new ApiKey(CommonConstant.X_ACCESS_TOKEN, CommonConstant.X_ACCESS_TOKEN, "header");
} // }
/** // /**
* JWT token // * JWT token
* @return // * @return
*/ // */
private List<Parameter> setHeaderToken() { // private List<Parameter> setHeaderToken() {
ParameterBuilder tokenPar = new ParameterBuilder(); // ParameterBuilder tokenPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<>(); // List<Parameter> pars = new ArrayList<>();
tokenPar.name(CommonConstant.X_ACCESS_TOKEN).description("token").modelRef(new ModelRef("string")).parameterType("header").required(false).build(); // tokenPar.name(CommonConstant.X_ACCESS_TOKEN).description("token").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
pars.add(tokenPar.build()); // pars.add(tokenPar.build());
//update-begin-author:liusq---date:2024-08-15--for: 开启多租户时全局参数增加租户id // //update-begin-author:liusq---date:2024-08-15--for: 开启多租户时全局参数增加租户id
if(MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL){ // if(MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL){
ParameterBuilder tenantPar = new ParameterBuilder(); // ParameterBuilder tenantPar = new ParameterBuilder();
tenantPar.name(CommonConstant.TENANT_ID).description("租户ID").modelRef(new ModelRef("string")).parameterType("header").required(false).build(); // tenantPar.name(CommonConstant.TENANT_ID).description("租户ID").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
pars.add(tenantPar.build()); // pars.add(tenantPar.build());
} // }
//update-end-author:liusq---date:2024-08-15--for: 开启多租户时全局参数增加租户id // //update-end-author:liusq---date:2024-08-15--for: 开启多租户时全局参数增加租户id
//
return pars; // return pars;
} // }
//
/** // /**
* api文档的详细信息函数,注意这里的注解引用的是哪个 // * api文档的详细信息函数,注意这里的注解引用的是哪个
* // *
* @return // * @return
*/ // */
private ApiInfo apiInfo() { // private ApiInfo apiInfo() {
return new ApiInfoBuilder() // return new ApiInfoBuilder()
// //大标题 // // //大标题
.title("JeecgBoot 后台服务API接口文档") // .title("JeecgBoot 后台服务API接口文档")
// 版本号 // // 版本号
.version("1.0") // .version("1.0")
// .termsOfServiceUrl("NO terms of service") //// .termsOfServiceUrl("NO terms of service")
// 描述 // // 描述
.description("后台API接口") // .description("后台API接口")
// 作者 // // 作者
.contact(new Contact("北京国炬信息技术有限公司","www.jeccg.com","jeecgos@163.com")) // .contact(new Contact("北京国炬信息技术有限公司","www.jeccg.com","jeecgos@163.com"))
.license("The Apache License, Version 2.0") // .license("The Apache License, Version 2.0")
.licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html") // .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
.build(); // .build();
} // }
//
/** // /**
* 新增 securityContexts 保持登录状态 // * 新增 securityContexts 保持登录状态
*/ // */
private List<SecurityContext> securityContexts() { // private List<SecurityContext> securityContexts() {
return new ArrayList( // return new ArrayList(
Collections.singleton(SecurityContext.builder() // Collections.singleton(SecurityContext.builder()
.securityReferences(defaultAuth()) // .securityReferences(defaultAuth())
.forPaths(PathSelectors.regex("^(?!auth).*$")) // .forPaths(PathSelectors.regex("^(?!auth).*$"))
.build()) // .build())
); // );
} // }
//
private List<SecurityReference> defaultAuth() { // private List<SecurityReference> defaultAuth() {
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); // AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; // AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope; // authorizationScopes[0] = authorizationScope;
return new ArrayList( // return new ArrayList(
Collections.singleton(new SecurityReference(CommonConstant.X_ACCESS_TOKEN, authorizationScopes))); // Collections.singleton(new SecurityReference(CommonConstant.X_ACCESS_TOKEN, authorizationScopes)));
} // }
//
/** // /**
* 解决springboot2.6 和springfox不兼容问题 // * 解决springboot2.6 和springfox不兼容问题
* @return // * @return
*/ // */
@Bean // @Bean
public static BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() { // public static BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() {
return new BeanPostProcessor() { // return new BeanPostProcessor() {
//
@Override // @Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { // public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
if (bean instanceof WebMvcRequestHandlerProvider) { // if (bean instanceof WebMvcRequestHandlerProvider) {
customizeSpringfoxHandlerMappings(getHandlerMappings(bean)); // customizeSpringfoxHandlerMappings(getHandlerMappings(bean));
} // }
return bean; // return bean;
} // }
//
private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings) { // private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings) {
List<T> copy = mappings.stream() // List<T> copy = mappings.stream()
.filter(mapping -> mapping.getPatternParser() == null) // .filter(mapping -> mapping.getPatternParser() == null)
.collect(Collectors.toList()); // .collect(Collectors.toList());
mappings.clear(); // mappings.clear();
mappings.addAll(copy); // mappings.addAll(copy);
} // }
//
@SuppressWarnings("unchecked") // @SuppressWarnings("unchecked")
private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean) { // private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean) {
try { // try {
Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings"); // Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings");
field.setAccessible(true); // field.setAccessible(true);
return (List<RequestMappingInfoHandlerMapping>) field.get(bean); // return (List<RequestMappingInfoHandlerMapping>) field.get(bean);
} catch (IllegalArgumentException | IllegalAccessException e) { // } catch (IllegalArgumentException | IllegalAccessException e) {
throw new IllegalStateException(e); // throw new IllegalStateException(e);
} // }
} // }
}; // };
} // }
//
//
} //}

View File

@ -0,0 +1,102 @@
package org.jeecg.config;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.constant.CommonConstant;
import org.springdoc.core.customizers.GlobalOpenApiCustomizer;
import org.springdoc.core.filters.GlobalOpenApiMethodFilter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* @author eightmonth
*/
@Slf4j
@Configuration
@PropertySource("classpath:config/default-spring-doc.properties")
public class Swagger3Config implements WebMvcConfigurer {
// 定义不需要注入安全要求的路径集合
Set<String> excludedPaths = new HashSet<>(Arrays.asList(
"/sys/randomImage/{key}",
"/sys/login",
"/sys/phoneLogin",
"/sys/mLogin",
"/sys/sms",
"/sys/cas/client/validateLogin",
"/test/jeecgDemo/demo3",
"/sys/thirdLogin/**",
"/sys/user/register"
));
/**
*
* 显示swagger-ui.html文档展示页还必须注入swagger资源
*
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
@Bean
public GlobalOpenApiMethodFilter globalOpenApiMethodFilter() {
return method -> method.isAnnotationPresent(Operation.class);
}
@Bean
public GlobalOpenApiCustomizer globalOpenApiCustomizer() {
return openApi -> {
// 全局添加鉴权参数
if (openApi.getPaths() != null) {
openApi.getPaths().forEach((path, pathItem) -> {
log.info("path: {}", path);
// 检查当前路径是否在排除列表中
boolean isExcluded = excludedPaths.stream().anyMatch(excludedPath ->
excludedPath.equals(path) ||
(excludedPath.endsWith("**") && path.startsWith(excludedPath.substring(0, excludedPath.length() - 2)))
);
if (!isExcluded) {
// 接口添加鉴权参数
pathItem.readOperations()
.forEach(operation ->
operation.addSecurityItem(new SecurityRequirement().addList(CommonConstant.X_ACCESS_TOKEN))
);
}
});
}
};
}
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info()
.title("JeecgBoot 后台服务API接口文档")
.version("3.7.4")
.contact(new Contact().name("北京国炬信息技术有限公司").url("www.jeccg.com").email("jeecgos@163.com"))
.description( "后台API接口")
.termsOfService("NO terms of service")
.license(new License().name("Apache 2.0").url("http://www.apache.org/licenses/LICENSE-2.0.html")))
.addSecurityItem(new SecurityRequirement().addList(CommonConstant.X_ACCESS_TOKEN))
.components(new Components().addSecuritySchemes(CommonConstant.X_ACCESS_TOKEN,
new SecurityScheme().name(CommonConstant.X_ACCESS_TOKEN).type(SecurityScheme.Type.HTTP)));
}
}

View File

@ -0,0 +1,19 @@
package org.jeecg.config;
import io.undertow.server.DefaultByteBufferPool;
import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.stereotype.Component;
@Component
public class UndertowCustomizer implements WebServerFactoryCustomizer<UndertowServletWebServerFactory> {
@Override
public void customize(UndertowServletWebServerFactory factory) {
factory.addDeploymentInfoCustomizers(deploymentInfo -> {
WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo();
webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 1024));
deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo);
});
}
}

View File

@ -11,16 +11,20 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import io.micrometer.prometheus.PrometheusMeterRegistry; import io.micrometer.prometheus.PrometheusMeterRegistry;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.boot.actuate.trace.http.InMemoryHttpTraceRepository; import org.springframework.boot.actuate.web.exchanges.InMemoryHttpExchangeRepository;
import org.springframework.boot.autoconfigure.jackson.JacksonProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
@ -30,7 +34,6 @@ import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.Resource;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;

View File

@ -3,8 +3,8 @@ package org.jeecg.config.filter;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;
import org.jeecg.config.sign.util.BodyReaderHttpServletRequestWrapper; import org.jeecg.config.sign.util.BodyReaderHttpServletRequestWrapper;
import javax.servlet.*; import jakarta.servlet.*;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
/** /**

View File

@ -7,9 +7,9 @@ import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.common.util.TokenUtils; import org.jeecg.common.util.TokenUtils;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import javax.servlet.*; import jakarta.servlet.*;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
/** /**

View File

@ -17,9 +17,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.AntPathMatcher; import org.springframework.util.AntPathMatcher;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.Set; import java.util.Set;

View File

@ -11,7 +11,7 @@ import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.config.mybatis.ThreadLocalDataHelper; import org.jeecg.config.mybatis.ThreadLocalDataHelper;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.lang.reflect.Method; import java.lang.reflect.Method;
/** /**

View File

@ -6,8 +6,8 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
/** /**
* 动态数据源切换拦截器 * 动态数据源切换拦截器

View File

@ -32,9 +32,9 @@ import org.springframework.web.filter.DelegatingFilterProxy;
import redis.clients.jedis.HostAndPort; import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster; import redis.clients.jedis.JedisCluster;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import javax.servlet.DispatcherType; import jakarta.servlet.Filter;
import javax.servlet.Filter; import jakarta.servlet.DispatcherType;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.*; import java.util.*;
@ -134,7 +134,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/swagger-ui.html", "anon"); filterChainDefinitionMap.put("/swagger-ui.html", "anon");
filterChainDefinitionMap.put("/swagger**/**", "anon"); filterChainDefinitionMap.put("/swagger**/**", "anon");
filterChainDefinitionMap.put("/webjars/**", "anon"); filterChainDefinitionMap.put("/webjars/**", "anon");
filterChainDefinitionMap.put("/v2/**", "anon"); filterChainDefinitionMap.put("/v3/**", "anon");
// update-begin--Author:sunjianlei Date:20210510 for排除消息通告查看详情页面用于第三方APP // update-begin--Author:sunjianlei Date:20210510 for排除消息通告查看详情页面用于第三方APP
filterChainDefinitionMap.put("/sys/annountCement/show/**", "anon"); filterChainDefinitionMap.put("/sys/annountCement/show/**", "anon");
@ -180,6 +180,8 @@ public class ShiroConfig {
// 企业微信证书排除 // 企业微信证书排除
filterChainDefinitionMap.put("/WW_verify*", "anon"); filterChainDefinitionMap.put("/WW_verify*", "anon");
filterChainDefinitionMap.put("/openapi/call/**", "anon");
// 添加自己的过滤器并且取名为jwt // 添加自己的过滤器并且取名为jwt
Map<String, Filter> filterMap = new HashMap<String, Filter>(1); Map<String, Filter> filterMap = new HashMap<String, Filter>(1);
//如果cloudServer为空 则说明是单体 需要加载跨域配置【微服务跨域切换】 //如果cloudServer为空 则说明是单体 需要加载跨域配置【微服务跨域切换】

View File

@ -23,8 +23,8 @@ import org.jeecg.config.mybatis.MybatisPlusSaasConfig;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.util.Set; import java.util.Set;
/** /**

View File

@ -12,7 +12,7 @@ import org.apache.shiro.web.servlet.AbstractShiroFilter;
import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.mgt.SecurityManager;
import org.springframework.beans.factory.BeanInitializationException; import org.springframework.beans.factory.BeanInitializationException;
import javax.servlet.Filter; import jakarta.servlet.Filter;
import java.util.Map; import java.util.Map;
/** /**

View File

@ -13,10 +13,10 @@ import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import javax.servlet.ServletRequest; import jakarta.servlet.ServletRequest;
import javax.servlet.ServletResponse; import jakarta.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
/** /**
* @Description: 鉴权登录拦截器 * @Description: 鉴权登录拦截器

View File

@ -1,9 +1,9 @@
package org.jeecg.config.shiro.filters; package org.jeecg.config.shiro.filters;
import javax.servlet.ServletRequest; import jakarta.servlet.ServletRequest;
import javax.servlet.ServletResponse; import jakarta.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.apache.shiro.subject.Subject; import org.apache.shiro.subject.Subject;
import org.apache.shiro.web.filter.AccessControlFilter; import org.apache.shiro.web.filter.AccessControlFilter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

View File

@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.Resource; import jakarta.annotation.Resource;
/** /**
* 签名 拦截器配置 * 签名 拦截器配置

View File

@ -4,8 +4,8 @@ package org.jeecg.config.sign.interceptor;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.SortedMap; import java.util.SortedMap;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;

View File

@ -1,10 +1,10 @@
package org.jeecg.config.sign.util; package org.jeecg.config.sign.util;
import javax.servlet.ReadListener; import jakarta.servlet.ReadListener;
import javax.servlet.ServletInputStream; import jakarta.servlet.ServletInputStream;
import javax.servlet.ServletRequest; import jakarta.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper; import jakarta.servlet.http.HttpServletRequestWrapper;
import java.io.*; import java.io.*;
import java.nio.charset.Charset; import java.nio.charset.Charset;

View File

@ -10,7 +10,7 @@ import java.util.Map;
import java.util.SortedMap; import java.util.SortedMap;
import java.util.TreeMap; import java.util.TreeMap;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.constant.SymbolConstant; import org.jeecg.common.constant.SymbolConstant;

View File

@ -14,8 +14,8 @@ import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
/** /**

View File

@ -0,0 +1,2 @@
springdoc.auto-tag-classes: false
springdoc.packages-to-scan: org.jeecg

View File

@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import jakarta.annotation.Resource;
/** /**
* 服务端提供方——feign接口 * 服务端提供方——feign接口

View File

@ -17,6 +17,7 @@ import java.util.Objects;
import java.util.function.Consumer; import java.util.function.Consumer;
//update-begin---author:chenrui ---date:20240126 for【QQYUN-7932】AI助手------------ //update-begin---author:chenrui ---date:20240126 for【QQYUN-7932】AI助手------------
/** /**
* OpenAI的SSE监听 * OpenAI的SSE监听
* @author chenrui * @author chenrui
@ -49,7 +50,7 @@ public class OpenAISSEEventSourceListener extends EventSourceListener {
this.sseEmitter = sseEmitter; this.sseEmitter = sseEmitter;
} }
public OpenAISSEEventSourceListener(String topicId,SseEmitter sseEmitter){ public OpenAISSEEventSourceListener(String topicId, SseEmitter sseEmitter){
this.topicId = topicId; this.topicId = topicId;
this.sseEmitter = sseEmitter; this.sseEmitter = sseEmitter;
} }
@ -102,40 +103,44 @@ public class OpenAISSEEventSourceListener extends EventSourceListener {
try { try {
//update-begin---author:chenrui ---date:20250207 for[QQYUN-11102/QQYUN-11109]兼容deepseek模型,支持think标签------------ //update-begin---author:chenrui ---date:20250207 for[QQYUN-11102/QQYUN-11109]兼容deepseek模型,支持think标签------------
// 兼容think标签 // 兼容think标签
Message delta = completionResponse.getChoices().get(0).getDelta(); //update-begin---author:chenrui ---date:20250210 for判断空,防止反悔的内容为空报错.------------
if (null != delta) { if(null != completionResponse.getChoices()
String content = delta.getContent(); && !completionResponse.getChoices().isEmpty()
if("<think>".equals(content)){ && null != completionResponse.getChoices().get(0)) {
isThinking = true; //update-end---author:chenrui ---date:20250210 for判断空,防止反悔的内容为空报错.------------
content = "> "; Message delta = completionResponse.getChoices().get(0).getDelta();
delta.setContent(content); if (null != delta) {
} String content = delta.getContent();
if("</think>".equals(content)){ if ("<think>".equals(content)) {
isThinking = false; isThinking = true;
content = "\n\n"; content = "> ";
delta.setContent(content);
}
if (isThinking) {
if (null != content && content.contains("\n")) {
content = "\n> ";
delta.setContent(content); delta.setContent(content);
} }
}else { if ("</think>".equals(content)) {
// 响应消息体不记录思考过程 isThinking = false;
messageContent += null == content ? "" : content; content = "\n\n";
delta.setContent(content);
}
if (isThinking) {
if (null != content && content.contains("\n")) {
content = "\n> ";
delta.setContent(content);
}
} else {
// 响应消息体不记录思考过程
messageContent += null == content ? "" : content;
}
log.info("ai-chat返回数据,发送给前端:" + content);
sseEmitter.send(SseEmitter.event()
.id(this.topicId)
.data(delta)
.reconnectTime(3000));
} }
log.info("ai-chat返回数据,发送给前端:" + content);
sseEmitter.send(SseEmitter.event()
.id(this.topicId)
.data(delta)
.reconnectTime(3000));
} }
//update-end---author:chenrui ---date:20250207 for[QQYUN-11102/QQYUN-11109]兼容deepseek模型,支持think标签------------ //update-end---author:chenrui ---date:20250207 for[QQYUN-11102/QQYUN-11109]兼容deepseek模型,支持think标签------------
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(),e); log.error("ai-chat返回数据,发生异常"+e.getMessage(),e);
sseEmitter.completeWithError(e);
eventSource.cancel(); eventSource.cancel();
} }
} }

View File

@ -104,6 +104,7 @@ public class ChatServiceImpl implements ChatService {
//超时回调 //超时回调
sseEmitter.onTimeout(() -> { sseEmitter.onTimeout(() -> {
log.info("[{}]连接超时...................", uid); log.info("[{}]连接超时...................", uid);
LocalCache.CACHE.remove(uid);
}); });
//异常回调 //异常回调
sseEmitter.onError( sseEmitter.onError(
@ -115,7 +116,7 @@ public class ChatServiceImpl implements ChatService {
.name("发生异常!") .name("发生异常!")
.data(Message.builder().content("发生异常请重试!").build()) .data(Message.builder().content("发生异常请重试!").build())
.reconnectTime(3000)); .reconnectTime(3000));
LocalCache.CACHE.put(uid, sseEmitter); LocalCache.CACHE.remove(uid);
} catch (IOException e) { } catch (IOException e) {
log.error(e.getMessage(),e); log.error(e.getMessage(),e);
} }
@ -179,6 +180,7 @@ public class ChatServiceImpl implements ChatService {
finalMsgHistory.add(tempMessage); finalMsgHistory.add(tempMessage);
redisTemplate.opsForHash().put(cacheKey, CACHE_KEY_MSG_CONTEXT, JSONUtil.toJsonStr(finalMsgHistory)); redisTemplate.opsForHash().put(cacheKey, CACHE_KEY_MSG_CONTEXT, JSONUtil.toJsonStr(finalMsgHistory));
}); });
log.info("话题:{},开始发送消息~~~", topicId);
ChatCompletion completion = ChatCompletion ChatCompletion completion = ChatCompletion
.builder() .builder()
.messages(msgHistory) .messages(msgHistory)

View File

@ -6,8 +6,8 @@ import org.apache.commons.io.IOUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import javax.swing.filechooser.FileSystemView; import javax.swing.filechooser.FileSystemView;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;

View File

@ -18,7 +18,7 @@ import org.jeecg.modules.demo.mock.vxe.entity.MockEntity;
import org.jeecg.modules.demo.mock.vxe.websocket.VxeSocket; import org.jeecg.modules.demo.mock.vxe.websocket.VxeSocket;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.URLDecoder; import java.net.URLDecoder;

View File

@ -6,12 +6,12 @@ import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.constant.VxeSocketConst; import org.jeecg.common.constant.VxeSocketConst;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.websocket.OnClose; import jakarta.websocket.OnClose;
import javax.websocket.OnMessage; import jakarta.websocket.OnMessage;
import javax.websocket.OnOpen; import jakarta.websocket.OnOpen;
import javax.websocket.Session; import jakarta.websocket.Session;
import javax.websocket.server.PathParam; import jakarta.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint; import jakarta.websocket.server.ServerEndpoint;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@ -4,13 +4,12 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.annotations.ApiParam; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.apache.shiro.mgt.DefaultSecurityManager; import org.apache.shiro.mgt.DefaultSecurityManager;
@ -31,8 +30,6 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import reactor.core.publisher.Mono; import reactor.core.publisher.Mono;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
@ -45,7 +42,7 @@ import java.util.List;
* @Version:V2.0 * @Version:V2.0
*/ */
@Slf4j @Slf4j
@Api(tags = "单表DEMO") @Tag(name = "单表DEMO")
@RestController @RestController
@RequestMapping("/test/jeecgDemo") @RequestMapping("/test/jeecgDemo")
public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoService> { public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoService> {
@ -64,7 +61,7 @@ public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoSe
* @param req * @param req
* @return * @return
*/ */
@ApiOperation(value = "获取Demo数据列表", notes = "获取所有Demo数据列表") @Operation(summary = "获取所有Demo数据列表")
@GetMapping(value = "/list") @GetMapping(value = "/list")
@PermissionData(pageComponent = "jeecg/JeecgDemoList") @PermissionData(pageComponent = "jeecg/JeecgDemoList")
public Result<?> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, public Result<?> list(JeecgDemo jeecgDemo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@ -89,7 +86,7 @@ public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoSe
*/ */
@PostMapping(value = "/add") @PostMapping(value = "/add")
@AutoLog(value = "添加测试DEMO") @AutoLog(value = "添加测试DEMO")
@ApiOperation(value = "添加DEMO", notes = "添加DEMO") @Operation(summary = "添加DEMO")
public Result<?> add(@RequestBody JeecgDemo jeecgDemo) { public Result<?> add(@RequestBody JeecgDemo jeecgDemo) {
jeecgDemoService.save(jeecgDemo); jeecgDemoService.save(jeecgDemo);
return Result.OK("添加成功!"); return Result.OK("添加成功!");
@ -102,7 +99,7 @@ public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoSe
* @return * @return
*/ */
@AutoLog(value = "编辑DEMO", operateType = CommonConstant.OPERATE_TYPE_3) @AutoLog(value = "编辑DEMO", operateType = CommonConstant.OPERATE_TYPE_3)
@ApiOperation(value = "编辑DEMO", notes = "编辑DEMO") @Operation(summary = "编辑DEMO")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<?> edit(@RequestBody JeecgDemo jeecgDemo) { public Result<?> edit(@RequestBody JeecgDemo jeecgDemo) {
jeecgDemoService.updateById(jeecgDemo); jeecgDemoService.updateById(jeecgDemo);
@ -117,7 +114,7 @@ public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoSe
*/ */
@AutoLog(value = "删除测试DEMO") @AutoLog(value = "删除测试DEMO")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
@ApiOperation(value = "通过ID删除DEMO", notes = "通过ID删除DEMO") @Operation(summary = "通过ID删除DEMO")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) { public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
jeecgDemoService.removeById(id); jeecgDemoService.removeById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
@ -130,7 +127,7 @@ public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoSe
* @return * @return
*/ */
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
@ApiOperation(value = "批量删除DEMO", notes = "批量删除DEMO") @Operation(summary = "批量删除DEMO")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.jeecgDemoService.removeByIds(Arrays.asList(ids.split(","))); this.jeecgDemoService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
@ -143,8 +140,8 @@ public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoSe
* @return * @return
*/ */
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
@ApiOperation(value = "通过ID查询DEMO", notes = "通过ID查询DEMO") @Operation(summary = "通过ID查询DEMO")
public Result<?> queryById(@ApiParam(name = "id", value = "示例id", required = true) @RequestParam(name = "id", required = true) String id) { public Result<?> queryById(/*@ApiParam(name = "id", value = "示例id", required = true)*/ @RequestParam(name = "id", required = true) String id) {
JeecgDemo jeecgDemo = jeecgDemoService.getById(id); JeecgDemo jeecgDemo = jeecgDemoService.getById(id);
return Result.OK(jeecgDemo); return Result.OK(jeecgDemo);
} }
@ -477,7 +474,7 @@ public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoSe
* 测试Mono对象 * 测试Mono对象
* @return * @return
*/ */
@ApiOperation("Mono测试") @Operation(summary = "Mono测试")
@GetMapping(value ="/test") @GetMapping(value ="/test")
public Mono<String> test() { public Mono<String> test() {
//解决shiro报错No SecurityManager accessible to the calling code, either bound to the org.apache.shiro //解决shiro报错No SecurityManager accessible to the calling code, either bound to the org.apache.shiro

View File

@ -1,8 +1,7 @@
package org.jeecg.modules.demo.test.controller; package org.jeecg.modules.demo.test.controller;
import io.lettuce.core.dynamic.annotation.Param; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
@ -11,7 +10,10 @@ import org.jeecg.modules.demo.test.entity.JeecgDemo;
import org.jeecg.modules.demo.test.service.IJeecgDemoService; import org.jeecg.modules.demo.test.service.IJeecgDemoService;
import org.jeecg.modules.demo.test.service.IJeecgDynamicDataService; import org.jeecg.modules.demo.test.service.IJeecgDynamicDataService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
@ -21,7 +23,7 @@ import java.util.List;
* @Date:2020-04-21 * @Date:2020-04-21
*/ */
@Slf4j @Slf4j
@Api(tags = "动态数据源测试") @Tag(name = "动态数据源测试")
@RestController @RestController
@RequestMapping("/test/dynamic") @RequestMapping("/test/dynamic")
public class JeecgDynamicDataController extends JeecgController<JeecgDemo, IJeecgDemoService> { public class JeecgDynamicDataController extends JeecgController<JeecgDemo, IJeecgDemoService> {
@ -37,7 +39,7 @@ public class JeecgDynamicDataController extends JeecgController<JeecgDemo, IJeec
*/ */
@PostMapping(value = "/test1") @PostMapping(value = "/test1")
@AutoLog(value = "动态切换数据源") @AutoLog(value = "动态切换数据源")
@ApiOperation(value = "动态切换数据源", notes = "动态切换数据源") @Operation(summary = "动态切换数据源")
public Result<List<JeecgDemo>> selectSpelByKey(@RequestParam(required = false) String dsName) { public Result<List<JeecgDemo>> selectSpelByKey(@RequestParam(required = false) String dsName) {
List<JeecgDemo> list = jeecgDynamicDataService.selectSpelByKey(dsName); List<JeecgDemo> list = jeecgDynamicDataService.selectSpelByKey(dsName);
return Result.OK(list); return Result.OK(list);

View File

@ -17,7 +17,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.util.Arrays; import java.util.Arrays;
/** /**

View File

@ -5,8 +5,8 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;

View File

@ -7,8 +7,8 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;

View File

@ -3,6 +3,7 @@ package org.jeecg.modules.demo.test.entity;
import java.io.Serializable; import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.Version; import com.baomidou.mybatisplus.annotation.Version;
import io.swagger.v3.oas.annotations.media.Schema;
import org.jeecg.common.system.base.entity.JeecgEntity; import org.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecgframework.poi.excel.annotation.Excel; import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -10,8 +11,6 @@ import org.springframework.format.annotation.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -25,59 +24,59 @@ import lombok.experimental.Accessors;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@Accessors(chain = true) @Accessors(chain = true)
@ApiModel(value="测试DEMO对象", description="测试DEMO") @Schema(description="测试DEMO")
@TableName("demo") @TableName("demo")
public class JeecgDemo extends JeecgEntity implements Serializable { public class JeecgDemo extends JeecgEntity implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 姓名 */ /** 姓名 */
@Excel(name="姓名",width=25) @Excel(name="姓名",width=25)
@ApiModelProperty(value = "姓名") @Schema(description = "姓名")
private java.lang.String name; private java.lang.String name;
/** 关键词 */ /** 关键词 */
@ApiModelProperty(value = "关键词") @Schema(description = "关键词")
@Excel(name="关键词",width=15) @Excel(name="关键词",width=15)
private java.lang.String keyWord; private java.lang.String keyWord;
/** 打卡时间 */ /** 打卡时间 */
@ApiModelProperty(value = "打卡时间") @Schema(description = "打卡时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name="打卡时间",width=20,format="yyyy-MM-dd HH:mm:ss") @Excel(name="打卡时间",width=20,format="yyyy-MM-dd HH:mm:ss")
private java.util.Date punchTime; private java.util.Date punchTime;
/** 工资 */ /** 工资 */
@ApiModelProperty(value = "工资",example = "0") @Schema(description = "工资",example = "0")
@Excel(name="工资",type = 4,width=15) @Excel(name="工资",type = 4,width=15)
private java.math.BigDecimal salaryMoney; private java.math.BigDecimal salaryMoney;
/** 奖金 */ /** 奖金 */
@ApiModelProperty(value = "奖金",example = "0") @Schema(description = "奖金",example = "0")
@Excel(name="奖金",type = 4,width=15) @Excel(name="奖金",type = 4,width=15)
private java.lang.Double bonusMoney; private java.lang.Double bonusMoney;
/** 性别 {男:1,女:2} */ /** 性别 {男:1,女:2} */
@ApiModelProperty(value = "性别") @Schema(description = "性别")
@Excel(name = "性别", width = 15, dicCode = "sex") @Excel(name = "性别", width = 15, dicCode = "sex")
private java.lang.String sex; private java.lang.String sex;
/** 年龄 */ /** 年龄 */
@ApiModelProperty(value = "年龄",example = "0") @Schema(description = "年龄",example = "0")
@Excel(name="年龄",type = 4,width=15) @Excel(name="年龄",type = 4,width=15)
private java.lang.Integer age; private java.lang.Integer age;
/** 生日 */ /** 生日 */
@ApiModelProperty(value = "生日") @Schema(description = "生日")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
@Excel(name="生日",format="yyyy-MM-dd") @Excel(name="生日",format="yyyy-MM-dd")
private java.util.Date birthday; private java.util.Date birthday;
/** 邮箱 */ /** 邮箱 */
@ApiModelProperty(value = "邮箱") @Schema(description = "邮箱")
@Excel(name="邮箱",width=30) @Excel(name="邮箱",width=30)
private java.lang.String email; private java.lang.String email;
/** 个人简介 */ /** 个人简介 */
@ApiModelProperty(value = "个人简介") @Schema(description = "个人简介")
private java.lang.String content; private java.lang.String content;
/** 部门编码 */ /** 部门编码 */
@Excel(name="部门编码",width=25) @Excel(name="部门编码",width=25)
@ApiModelProperty(value = "部门编码") @Schema(description = "部门编码")
private java.lang.String sysOrgCode; private java.lang.String sysOrgCode;
@ApiModelProperty(value = "租户ID") // @Schema(description = "租户ID")
private java.lang.Integer tenantId; private java.lang.Integer tenantId;
/** 乐观锁字段 */ /** 乐观锁字段 */
@Version @Version

View File

@ -18,7 +18,7 @@ import org.jeecg.modules.demo.mock.vxe.websocket.VxeSocket;
import org.jeecg.modules.dlglong.entity.MockEntity; import org.jeecg.modules.dlglong.entity.MockEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.URLDecoder; import java.net.URLDecoder;

View File

@ -20,19 +20,19 @@
<artifactId>hibernate-core</artifactId> <artifactId>hibernate-core</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.jeecgframework.boot</groupId> <groupId>org.jeecgframework.boot3</groupId>
<artifactId>hibernate-re</artifactId> <artifactId>hibernate-re</artifactId>
</dependency> </dependency>
<!-- 企业微信/钉钉 api --> <!-- 企业微信/钉钉 api -->
<dependency> <dependency>
<groupId>org.jeecgframework</groupId> <groupId>org.jeecgframework</groupId>
<artifactId>jeewx-api</artifactId> <artifactId>weixin4j</artifactId>
</dependency> </dependency>
<!-- 积木报表 --> <!-- 积木报表 -->
<dependency> <dependency>
<groupId>org.jeecgframework.jimureport</groupId> <groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot-starter</artifactId> <artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.jeecgframework.jimureport</groupId> <groupId>org.jeecgframework.jimureport</groupId>
@ -41,7 +41,7 @@
<!-- 积木BI --> <!-- 积木BI -->
<dependency> <dependency>
<groupId>org.jeecgframework.jimureport</groupId> <groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimubi-spring-boot-starter</artifactId> <artifactId>jimubi-spring-boot3-starter</artifactId>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -1,33 +1,33 @@
package org.jeecg.config.init; //package org.jeecg.config.init;
//
import org.apache.catalina.Context; //import org.apache.catalina.Context;
import org.apache.tomcat.util.scan.StandardJarScanner; //import org.apache.tomcat.util.scan.StandardJarScanner;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; //import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean; //import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; //import org.springframework.context.annotation.Configuration;
//
/** ///**
* @Description: TomcatFactoryConfig // * @Description: TomcatFactoryConfig
* @author: scott // * @author: scott
* @date: 2021年01月25日 11:40 // * @date: 2021年01月25日 11:40
*/ // */
@Configuration //@Configuration
public class TomcatFactoryConfig { //public class TomcatFactoryConfig {
/** // /**
* tomcat-embed-jasper引用后提示jar找不到的问题 // * tomcat-embed-jasper引用后提示jar找不到的问题
*/ // */
@Bean // @Bean
public TomcatServletWebServerFactory tomcatFactory() { // public TomcatServletWebServerFactory tomcatFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() { // TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
@Override // @Override
protected void postProcessContext(Context context) { // protected void postProcessContext(Context context) {
((StandardJarScanner) context.getJarScanner()).setScanManifest(false); // ((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
} // }
}; // };
factory.addConnectorCustomizers(connector -> { // factory.addConnectorCustomizers(connector -> {
connector.setProperty("relaxedPathChars", "[]{}"); // connector.setProperty("relaxedPathChars", "[]{}");
connector.setProperty("relaxedQueryChars", "[]{}"); // connector.setProperty("relaxedQueryChars", "[]{}");
}); // });
return factory; // return factory;
} // }
} //}

View File

@ -12,7 +12,7 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -36,11 +36,7 @@ public class JimuReportTokenService implements JmReportTokenServiceI {
@Override @Override
public String getToken(HttpServletRequest request) { public String getToken(HttpServletRequest request) {
try { return TokenUtils.getTokenByRequest(request);
return TokenUtils.getTokenByRequest(request);
} catch (Exception e) {
return null;
}
} }
@Override @Override

View File

@ -15,7 +15,7 @@ import org.jeecg.modules.system.entity.SysTenantPack;
import org.jeecg.modules.system.entity.SysTenantPackUser; import org.jeecg.modules.system.entity.SysTenantPackUser;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Date; import java.util.Date;

View File

@ -2,8 +2,8 @@ package org.jeecg.modules.cas.controller;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;

View File

@ -2,8 +2,8 @@ package org.jeecg.modules.message.controller;
import java.util.Arrays; import java.util.Arrays;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;

View File

@ -3,8 +3,8 @@ package org.jeecg.modules.message.controller;
import java.util.Arrays; import java.util.Arrays;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.jeecg.common.api.dto.message.MessageDTO; import org.jeecg.common.api.dto.message.MessageDTO;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;

View File

@ -21,8 +21,8 @@ import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.mail.MessagingException; import jakarta.mail.MessagingException;
import javax.mail.internet.MimeMessage; import jakarta.mail.internet.MimeMessage;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.List; import java.util.List;

View File

@ -19,7 +19,7 @@ import org.jeecg.modules.system.mapper.SysAnnouncementSendMapper;
import org.jeecg.modules.system.mapper.SysUserMapper; import org.jeecg.modules.system.mapper.SysUserMapper;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;

View File

@ -2,9 +2,9 @@ package org.jeecg.modules.message.websocket;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import javax.websocket.*; import jakarta.websocket.*;
import javax.websocket.server.PathParam; import jakarta.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint; import jakarta.websocket.server.ServerEndpoint;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.jeecg.common.base.BaseMap; import org.jeecg.common.base.BaseMap;

View File

@ -1,9 +1,9 @@
package org.jeecg.modules.monitor.actuator; package org.jeecg.modules.monitor.actuator;
import org.jeecg.modules.monitor.actuator.httptrace.CustomInMemoryHttpTraceRepository; import org.jeecg.modules.monitor.actuator.httptrace.CustomInMemoryHttpTraceRepository;
import org.springframework.boot.actuate.autoconfigure.trace.http.HttpTraceAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.exchanges.HttpExchangesAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.trace.http.HttpTraceProperties; import org.springframework.boot.actuate.autoconfigure.web.exchanges.HttpExchangesProperties;
import org.springframework.boot.actuate.trace.http.HttpTraceRepository; import org.springframework.boot.actuate.web.exchanges.HttpExchangeRepository;
import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@ -18,8 +18,8 @@ import org.springframework.context.annotation.Configuration;
* @Date: 2024/5/13 17:20 * @Date: 2024/5/13 17:20
*/ */
@Configuration @Configuration
@EnableConfigurationProperties(HttpTraceProperties.class) @EnableConfigurationProperties(HttpExchangesProperties.class)
@AutoConfigureBefore(HttpTraceAutoConfiguration.class) @AutoConfigureBefore(HttpExchangesAutoConfiguration.class)
public class CustomActuatorConfig { public class CustomActuatorConfig {
/** /**
@ -30,7 +30,7 @@ public class CustomActuatorConfig {
*/ */
@Bean @Bean
@ConditionalOnProperty(prefix = "management.trace.http", name = "enabled", matchIfMissing = true) @ConditionalOnProperty(prefix = "management.trace.http", name = "enabled", matchIfMissing = true)
@ConditionalOnMissingBean(HttpTraceRepository.class) @ConditionalOnMissingBean(HttpExchangeRepository.class)
public CustomInMemoryHttpTraceRepository traceRepository() { public CustomInMemoryHttpTraceRepository traceRepository() {
return new CustomInMemoryHttpTraceRepository(); return new CustomInMemoryHttpTraceRepository();
} }

View File

@ -4,7 +4,7 @@ import lombok.Getter;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.boot.actuate.endpoint.annotation.Selector; import org.springframework.boot.actuate.endpoint.annotation.Selector;
import org.springframework.boot.actuate.trace.http.HttpTrace; import org.springframework.boot.actuate.web.exchanges.HttpExchange;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.Assert; import org.springframework.util.Assert;
@ -29,14 +29,14 @@ public class CustomHttpTraceEndpoint{
@ReadOperation @ReadOperation
public HttpTraceDescriptor traces(@Selector(match = ALL_REMAINING) String query) { public HttpTraceDescriptor traces(@Selector(match = ALL_REMAINING) String query) {
return new CustomHttpTraceEndpoint.HttpTraceDescriptor(this.repository.findAll(query)); return new HttpTraceDescriptor(this.repository.findAll(query));
} }
@Getter @Getter
public static final class HttpTraceDescriptor { public static final class HttpTraceDescriptor {
private final List<HttpTrace> traces; private final List<HttpExchange> traces;
private HttpTraceDescriptor(List<HttpTrace> traces) { private HttpTraceDescriptor(List<HttpExchange> traces) {
this.traces = traces; this.traces = traces;
} }

View File

@ -1,7 +1,7 @@
package org.jeecg.modules.monitor.actuator.httptrace; package org.jeecg.modules.monitor.actuator.httptrace;
import org.springframework.boot.actuate.trace.http.HttpTrace; import org.springframework.boot.actuate.web.exchanges.HttpExchange;
import org.springframework.boot.actuate.trace.http.InMemoryHttpTraceRepository; import org.springframework.boot.actuate.web.exchanges.InMemoryHttpExchangeRepository;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -12,17 +12,17 @@ import java.util.stream.Stream;
* @Author: chenrui * @Author: chenrui
* @Date: 2024/5/13 17:02 * @Date: 2024/5/13 17:02
*/ */
public class CustomInMemoryHttpTraceRepository extends InMemoryHttpTraceRepository { public class CustomInMemoryHttpTraceRepository extends InMemoryHttpExchangeRepository {
@Override @Override
public List<HttpTrace> findAll() { public List<HttpExchange> findAll() {
return super.findAll(); return super.findAll();
} }
public List<HttpTrace> findAll(String query) { public List<HttpExchange> findAll(String query) {
List<HttpTrace> allTrace = super.findAll(); List<HttpExchange> allTrace = super.findAll();
if (null != allTrace && !allTrace.isEmpty()) { if (null != allTrace && !allTrace.isEmpty()) {
Stream<HttpTrace> stream = allTrace.stream(); Stream<HttpExchange> stream = allTrace.stream();
String[] params = query.split(","); String[] params = query.split(",");
stream = filter(params, stream); stream = filter(params, stream);
stream = sort(params, stream); stream = sort(params, stream);
@ -31,7 +31,7 @@ public class CustomInMemoryHttpTraceRepository extends InMemoryHttpTraceReposito
return allTrace; return allTrace;
} }
private Stream<HttpTrace> sort(String[] params, Stream<HttpTrace> stream) { private Stream<HttpExchange> sort(String[] params, Stream<HttpExchange> stream) {
if (params.length < 2) { if (params.length < 2) {
return stream; return stream;
} }
@ -56,7 +56,7 @@ public class CustomInMemoryHttpTraceRepository extends InMemoryHttpTraceReposito
}); });
} }
private static Stream<HttpTrace> filter(String[] params, Stream<HttpTrace> stream) { private static Stream<HttpExchange> filter(String[] params, Stream<HttpExchange> stream) {
if (params.length == 0) { if (params.length == 0) {
return stream; return stream;
} }

View File

@ -10,8 +10,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import javax.swing.filechooser.FileSystemView; import javax.swing.filechooser.FileSystemView;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -2,7 +2,7 @@ package org.jeecg.modules.monitor.service.impl;
import java.util.*; import java.util.*;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;

View File

@ -1,6 +1,6 @@
package org.jeecg.modules.oss.controller; package org.jeecg.modules.oss.controller;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles; import org.apache.shiro.authz.annotation.RequiresRoles;

View File

@ -3,8 +3,8 @@ package org.jeecg.modules.quartz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -31,8 +31,8 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -48,7 +48,7 @@ import java.util.Map;
@RestController @RestController
@RequestMapping("/sys/quartzJob") @RequestMapping("/sys/quartzJob")
@Slf4j @Slf4j
@Api(tags = "定时任务接口") @Tag(name = "定时任务接口")
public class QuartzJobController { public class QuartzJobController {
@Autowired @Autowired
private IQuartzJobService quartzJobService; private IQuartzJobService quartzJobService;
@ -155,7 +155,7 @@ public class QuartzJobController {
//@RequiresRoles("admin") //@RequiresRoles("admin")
@RequiresPermissions("system:quartzJob:pause") @RequiresPermissions("system:quartzJob:pause")
@GetMapping(value = "/pause") @GetMapping(value = "/pause")
@ApiOperation(value = "停止定时任务") @Operation(summary = "停止定时任务")
public Result<Object> pauseJob(@RequestParam(name = "id") String id) { public Result<Object> pauseJob(@RequestParam(name = "id") String id) {
QuartzJob job = quartzJobService.getById(id); QuartzJob job = quartzJobService.getById(id);
if (job == null) { if (job == null) {
@ -174,7 +174,7 @@ public class QuartzJobController {
//@RequiresRoles("admin") //@RequiresRoles("admin")
@RequiresPermissions("system:quartzJob:resume") @RequiresPermissions("system:quartzJob:resume")
@GetMapping(value = "/resume") @GetMapping(value = "/resume")
@ApiOperation(value = "启动定时任务") @Operation(summary = "启动定时任务")
public Result<Object> resumeJob(@RequestParam(name = "id") String id) { public Result<Object> resumeJob(@RequestParam(name = "id") String id) {
QuartzJob job = quartzJobService.getById(id); QuartzJob job = quartzJobService.getById(id);
if (job == null) { if (job == null) {

View File

@ -1,12 +1,12 @@
package org.jeecg.modules.system.cache; package org.jeecg.modules.system.cache;
import jakarta.annotation.PostConstruct;
import me.zhyd.oauth.cache.AuthCacheConfig; import me.zhyd.oauth.cache.AuthCacheConfig;
import me.zhyd.oauth.cache.AuthStateCache; import me.zhyd.oauth.cache.AuthStateCache;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations; import org.springframework.data.redis.core.ValueOperations;
import javax.annotation.PostConstruct;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;

View File

@ -19,8 +19,8 @@ import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.HandlerMapping; import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
/** /**

View File

@ -1,7 +1,7 @@
package org.jeecg.modules.system.controller; package org.jeecg.modules.system.controller;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
/** /**
* @Title: DuplicateCheckAction * @Title: DuplicateCheckAction
@ -24,7 +24,7 @@ import javax.servlet.http.HttpServletRequest;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/sys/duplicate") @RequestMapping("/sys/duplicate")
@Api(tags="重复校验") @Tag(name="重复校验")
public class DuplicateCheckController { public class DuplicateCheckController {
@Autowired @Autowired
@ -36,7 +36,7 @@ public class DuplicateCheckController {
* @return * @return
*/ */
@RequestMapping(value = "/check", method = RequestMethod.GET) @RequestMapping(value = "/check", method = RequestMethod.GET)
@ApiOperation("重复校验接口") @Operation(summary = "重复校验接口")
public Result<String> doDuplicateCheck(DuplicateCheckVo duplicateCheckVo, HttpServletRequest request) { public Result<String> doDuplicateCheck(DuplicateCheckVo duplicateCheckVo, HttpServletRequest request) {
log.debug("----duplicate check------"+ duplicateCheckVo.toString()); log.debug("----duplicate check------"+ duplicateCheckVo.toString());

View File

@ -5,8 +5,8 @@ import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ClientException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresRoles; import org.apache.shiro.authz.annotation.RequiresRoles;
@ -34,9 +34,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -46,7 +46,7 @@ import java.util.stream.Collectors;
*/ */
@RestController @RestController
@RequestMapping("/sys") @RequestMapping("/sys")
@Api(tags="用户登录") @Tag(name="用户登录")
@Slf4j @Slf4j
public class LoginController { public class LoginController {
@Autowired @Autowired
@ -70,7 +70,7 @@ public class LoginController {
private final String BASE_CHECK_CODES = "qwertyuiplkjhgfdsazxcvbnmQWERTYUPLKJHGFDSAZXCVBNM1234567890"; private final String BASE_CHECK_CODES = "qwertyuiplkjhgfdsazxcvbnmQWERTYUPLKJHGFDSAZXCVBNM1234567890";
@ApiOperation("登录接口") @Operation(summary = "登录接口")
@RequestMapping(value = "/login", method = RequestMethod.POST) @RequestMapping(value = "/login", method = RequestMethod.POST)
public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel, HttpServletRequest request){ public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel, HttpServletRequest request){
Result<JSONObject> result = new Result<JSONObject>(); Result<JSONObject> result = new Result<JSONObject>();
@ -402,7 +402,7 @@ public class LoginController {
* @param jsonObject * @param jsonObject
* @return * @return
*/ */
@ApiOperation("手机号登录接口") @Operation(summary ="手机号登录接口")
@PostMapping("/phoneLogin") @PostMapping("/phoneLogin")
public Result<JSONObject> phoneLogin(@RequestBody JSONObject jsonObject, HttpServletRequest request) { public Result<JSONObject> phoneLogin(@RequestBody JSONObject jsonObject, HttpServletRequest request) {
Result<JSONObject> result = new Result<JSONObject>(); Result<JSONObject> result = new Result<JSONObject>();
@ -521,7 +521,7 @@ public class LoginController {
* @param response * @param response
* @param key * @param key
*/ */
@ApiOperation("获取验证码") @Operation(summary ="获取验证码")
@GetMapping(value = "/randomImage/{key}") @GetMapping(value = "/randomImage/{key}")
public Result<String> randomImage(HttpServletResponse response,@PathVariable("key") String key){ public Result<String> randomImage(HttpServletResponse response,@PathVariable("key") String key){
Result<String> res = new Result<String>(); Result<String> res = new Result<String>();
@ -664,7 +664,7 @@ public class LoginController {
/** /**
* 登录二维码 * 登录二维码
*/ */
@ApiOperation(value = "登录二维码", notes = "登录二维码") @Operation(summary = "登录二维码")
@GetMapping("/getLoginQrcode") @GetMapping("/getLoginQrcode")
public Result<?> getLoginQrcode() { public Result<?> getLoginQrcode() {
String qrcodeId = CommonConstant.LOGIN_QRCODE_PRE+IdWorker.getIdStr(); String qrcodeId = CommonConstant.LOGIN_QRCODE_PRE+IdWorker.getIdStr();
@ -678,7 +678,7 @@ public class LoginController {
/** /**
* 扫码二维码 * 扫码二维码
*/ */
@ApiOperation(value = "扫码登录二维码", notes = "扫码登录二维码") @Operation(summary = "扫码登录二维码")
@PostMapping("/scanLoginQrcode") @PostMapping("/scanLoginQrcode")
public Result<?> scanLoginQrcode(@RequestParam String qrcodeId, @RequestParam String token) { public Result<?> scanLoginQrcode(@RequestParam String qrcodeId, @RequestParam String token) {
Object check = redisUtil.get(CommonConstant.LOGIN_QRCODE + qrcodeId); Object check = redisUtil.get(CommonConstant.LOGIN_QRCODE + qrcodeId);
@ -695,7 +695,7 @@ public class LoginController {
/** /**
* 获取用户扫码后保存的token * 获取用户扫码后保存的token
*/ */
@ApiOperation(value = "获取用户扫码后保存的token", notes = "获取用户扫码后保存的token") @Operation(summary = "获取用户扫码后保存的token")
@GetMapping("/getQrcodeToken") @GetMapping("/getQrcodeToken")
public Result getQrcodeToken(@RequestParam String qrcodeId) { public Result getQrcodeToken(@RequestParam String qrcodeId) {
Object token = redisUtil.get(CommonConstant.LOGIN_QRCODE_TOKEN + qrcodeId); Object token = redisUtil.get(CommonConstant.LOGIN_QRCODE_TOKEN + qrcodeId);

View File

@ -44,9 +44,9 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource; import jakarta.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;

View File

@ -3,7 +3,7 @@ package org.jeecg.modules.system.controller;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;

View File

@ -32,8 +32,8 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
@ -17,8 +17,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.util.Arrays; import java.util.Arrays;
@ -30,7 +30,7 @@ import java.util.Arrays;
* @Version: V1.0 * @Version: V1.0
*/ */
@Slf4j @Slf4j
@Api(tags = "编码校验规则") @Tag(name = "编码校验规则")
@RestController @RestController
@RequestMapping("/sys/checkRule") @RequestMapping("/sys/checkRule")
public class SysCheckRuleController extends JeecgController<SysCheckRule, ISysCheckRuleService> { public class SysCheckRuleController extends JeecgController<SysCheckRule, ISysCheckRuleService> {
@ -48,7 +48,7 @@ public class SysCheckRuleController extends JeecgController<SysCheckRule, ISysCh
* @return * @return
*/ */
@AutoLog(value = "编码校验规则-分页列表查询") @AutoLog(value = "编码校验规则-分页列表查询")
@ApiOperation(value = "编码校验规则-分页列表查询", notes = "编码校验规则-分页列表查询") @Operation(summary = "编码校验规则-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result queryPageList( public Result queryPageList(
SysCheckRule sysCheckRule, SysCheckRule sysCheckRule,
@ -70,7 +70,7 @@ public class SysCheckRuleController extends JeecgController<SysCheckRule, ISysCh
* @return * @return
*/ */
@AutoLog(value = "编码校验规则-通过Code校验传入的值") @AutoLog(value = "编码校验规则-通过Code校验传入的值")
@ApiOperation(value = "编码校验规则-通过Code校验传入的值", notes = "编码校验规则-通过Code校验传入的值") @Operation(summary = "编码校验规则-通过Code校验传入的值")
@GetMapping(value = "/checkByCode") @GetMapping(value = "/checkByCode")
public Result checkByCode( public Result checkByCode(
@RequestParam(name = "ruleCode") String ruleCode, @RequestParam(name = "ruleCode") String ruleCode,
@ -97,7 +97,7 @@ public class SysCheckRuleController extends JeecgController<SysCheckRule, ISysCh
* @return * @return
*/ */
@AutoLog(value = "编码校验规则-添加") @AutoLog(value = "编码校验规则-添加")
@ApiOperation(value = "编码校验规则-添加", notes = "编码校验规则-添加") @Operation(summary = "编码校验规则-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result add(@RequestBody SysCheckRule sysCheckRule) { public Result add(@RequestBody SysCheckRule sysCheckRule) {
sysCheckRuleService.save(sysCheckRule); sysCheckRuleService.save(sysCheckRule);
@ -111,7 +111,7 @@ public class SysCheckRuleController extends JeecgController<SysCheckRule, ISysCh
* @return * @return
*/ */
@AutoLog(value = "编码校验规则-编辑") @AutoLog(value = "编码校验规则-编辑")
@ApiOperation(value = "编码校验规则-编辑", notes = "编码校验规则-编辑") @Operation(summary = "编码校验规则-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result edit(@RequestBody SysCheckRule sysCheckRule) { public Result edit(@RequestBody SysCheckRule sysCheckRule) {
sysCheckRuleService.updateById(sysCheckRule); sysCheckRuleService.updateById(sysCheckRule);
@ -125,7 +125,7 @@ public class SysCheckRuleController extends JeecgController<SysCheckRule, ISysCh
* @return * @return
*/ */
@AutoLog(value = "编码校验规则-通过id删除") @AutoLog(value = "编码校验规则-通过id删除")
@ApiOperation(value = "编码校验规则-通过id删除", notes = "编码校验规则-通过id删除") @Operation(summary = "编码校验规则-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result delete(@RequestParam(name = "id", required = true) String id) { public Result delete(@RequestParam(name = "id", required = true) String id) {
sysCheckRuleService.removeById(id); sysCheckRuleService.removeById(id);
@ -139,7 +139,7 @@ public class SysCheckRuleController extends JeecgController<SysCheckRule, ISysCh
* @return * @return
*/ */
@AutoLog(value = "编码校验规则-批量删除") @AutoLog(value = "编码校验规则-批量删除")
@ApiOperation(value = "编码校验规则-批量删除", notes = "编码校验规则-批量删除") @Operation(summary = "编码校验规则-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.sysCheckRuleService.removeByIds(Arrays.asList(ids.split(","))); this.sysCheckRuleService.removeByIds(Arrays.asList(ids.split(",")));
@ -153,7 +153,7 @@ public class SysCheckRuleController extends JeecgController<SysCheckRule, ISysCh
* @return * @return
*/ */
@AutoLog(value = "编码校验规则-通过id查询") @AutoLog(value = "编码校验规则-通过id查询")
@ApiOperation(value = "编码校验规则-通过id查询", notes = "编码校验规则-通过id查询") @Operation(summary = "编码校验规则-通过id查询")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
public Result queryById(@RequestParam(name = "id", required = true) String id) { public Result queryById(@RequestParam(name = "id", required = true) String id) {
SysCheckRule sysCheckRule = sysCheckRuleService.getById(id); SysCheckRule sysCheckRule = sysCheckRuleService.getById(id);

View File

@ -3,8 +3,8 @@ package org.jeecg.modules.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.dto.DataLogDTO; import org.jeecg.common.api.dto.DataLogDTO;
@ -23,8 +23,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -34,7 +34,7 @@ import java.util.List;
* @Date: 2022-07-19 * @Date: 2022-07-19
* @Version: V1.0 * @Version: V1.0
*/ */
@Api(tags = "系统评论回复表") @Tag(name = "系统评论回复表")
@RestController @RestController
@RequestMapping("/sys/comment") @RequestMapping("/sys/comment")
@Slf4j @Slf4j
@ -59,7 +59,7 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
* @param sysComment * @param sysComment
* @return * @return
*/ */
@ApiOperation(value = "系统评论回复表-列表查询", notes = "系统评论回复表-列表查询") @Operation(summary = "系统评论回复表-列表查询")
@GetMapping(value = "/listByForm") @GetMapping(value = "/listByForm")
public Result<IPage<SysCommentVO>> queryListByForm(SysComment sysComment) { public Result<IPage<SysCommentVO>> queryListByForm(SysComment sysComment) {
List<SysCommentVO> list = sysCommentService.queryFormCommentInfo(sysComment); List<SysCommentVO> list = sysCommentService.queryFormCommentInfo(sysComment);
@ -74,7 +74,7 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
* @param sysComment * @param sysComment
* @return * @return
*/ */
@ApiOperation(value = "系统评论回复表-列表查询", notes = "系统评论回复表-列表查询") @Operation(summary = "系统评论回复表-列表查询")
@GetMapping(value = "/fileList") @GetMapping(value = "/fileList")
public Result<IPage<SysCommentFileVo>> queryFileList(SysComment sysComment) { public Result<IPage<SysCommentFileVo>> queryFileList(SysComment sysComment) {
List<SysCommentFileVo> list = sysCommentService.queryFormFileList(sysComment.getTableName(), sysComment.getTableDataId()); List<SysCommentFileVo> list = sysCommentService.queryFormFileList(sysComment.getTableName(), sysComment.getTableDataId());
@ -83,14 +83,14 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
return Result.OK(pageList); return Result.OK(pageList);
} }
@ApiOperation(value = "系统评论表-添加文本", notes = "系统评论表-添加文本") @Operation(summary = "系统评论表-添加文本")
@PostMapping(value = "/addText") @PostMapping(value = "/addText")
public Result<String> addText(@RequestBody SysComment sysComment) { public Result<String> addText(@RequestBody SysComment sysComment) {
String commentId = sysCommentService.saveOne(sysComment); String commentId = sysCommentService.saveOne(sysComment);
return Result.OK(commentId); return Result.OK(commentId);
} }
@ApiOperation(value = "系统评论表-添加文件", notes = "系统评论表-添加文件") @Operation(summary = "系统评论表-添加文件")
@PostMapping(value = "/addFile") @PostMapping(value = "/addFile")
public Result<String> addFile(HttpServletRequest request) { public Result<String> addFile(HttpServletRequest request) {
try { try {
@ -107,7 +107,7 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
* @param request * @param request
* @return * @return
*/ */
@ApiOperation(value = "系统评论表-添加文件", notes = "系统评论表-添加文件") @Operation(summary = "系统评论表-添加文件")
@PostMapping(value = "/appAddFile") @PostMapping(value = "/appAddFile")
public Result<String> appAddFile(HttpServletRequest request) { public Result<String> appAddFile(HttpServletRequest request) {
try { try {
@ -119,7 +119,7 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
} }
} }
@ApiOperation(value = "系统评论回复表-通过id删除", notes = "系统评论回复表-通过id删除") @Operation(summary = "系统评论回复表-通过id删除")
@DeleteMapping(value = "/deleteOne") @DeleteMapping(value = "/deleteOne")
public Result<String> deleteOne(@RequestParam(name = "id", required = true) String id) { public Result<String> deleteOne(@RequestParam(name = "id", required = true) String id) {
SysComment comment = sysCommentService.getById(id); SysComment comment = sysCommentService.getById(id);
@ -162,7 +162,7 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
* @return * @return
*/ */
//@AutoLog(value = "系统评论回复表-分页列表查询") //@AutoLog(value = "系统评论回复表-分页列表查询")
@ApiOperation(value = "系统评论回复表-分页列表查询", notes = "系统评论回复表-分页列表查询") @Operation(summary = "系统评论回复表-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<IPage<SysComment>> queryPageList(SysComment sysComment, public Result<IPage<SysComment>> queryPageList(SysComment sysComment,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@ -181,7 +181,7 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
* @param sysComment * @param sysComment
* @return * @return
*/ */
@ApiOperation(value = "系统评论回复表-添加", notes = "系统评论回复表-添加") @Operation(summary = "系统评论回复表-添加")
//@RequiresPermissions("org.jeecg.modules.demo:sys_comment:add") //@RequiresPermissions("org.jeecg.modules.demo:sys_comment:add")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<String> add(@RequestBody SysComment sysComment) { public Result<String> add(@RequestBody SysComment sysComment) {
@ -196,7 +196,7 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
* @return * @return
*/ */
//@AutoLog(value = "系统评论回复表-编辑") //@AutoLog(value = "系统评论回复表-编辑")
@ApiOperation(value = "系统评论回复表-编辑", notes = "系统评论回复表-编辑") @Operation(summary = "系统评论回复表-编辑")
//@RequiresPermissions("org.jeecg.modules.demo:sys_comment:edit") //@RequiresPermissions("org.jeecg.modules.demo:sys_comment:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<String> edit(@RequestBody SysComment sysComment) { public Result<String> edit(@RequestBody SysComment sysComment) {
@ -211,7 +211,7 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
* @return * @return
*/ */
//@AutoLog(value = "系统评论回复表-通过id删除") //@AutoLog(value = "系统评论回复表-通过id删除")
@ApiOperation(value = "系统评论回复表-通过id删除", notes = "系统评论回复表-通过id删除") @Operation(summary= "系统评论回复表-通过id删除")
//@RequiresPermissions("org.jeecg.modules.demo:sys_comment:delete") //@RequiresPermissions("org.jeecg.modules.demo:sys_comment:delete")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name = "id", required = true) String id) { public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
@ -226,7 +226,7 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
* @return * @return
*/ */
//@AutoLog(value = "系统评论回复表-批量删除") //@AutoLog(value = "系统评论回复表-批量删除")
@ApiOperation(value = "系统评论回复表-批量删除", notes = "系统评论回复表-批量删除") @Operation(summary = "系统评论回复表-批量删除")
//@RequiresPermissions("org.jeecg.modules.demo:sys_comment:deleteBatch") //@RequiresPermissions("org.jeecg.modules.demo:sys_comment:deleteBatch")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
@ -241,7 +241,7 @@ public class SysCommentController extends JeecgController<SysComment, ISysCommen
* @return * @return
*/ */
//@AutoLog(value = "系统评论回复表-通过id查询") //@AutoLog(value = "系统评论回复表-通过id查询")
@ApiOperation(value = "系统评论回复表-通过id查询", notes = "系统评论回复表-通过id查询") @Operation(summary = "系统评论回复表-通过id查询")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
public Result<SysComment> queryById(@RequestParam(name = "id", required = true) String id) { public Result<SysComment> queryById(@RequestParam(name = "id", required = true) String id) {
SysComment sysComment = sysCommentService.getById(id); SysComment sysComment = sysCommentService.getById(id);

View File

@ -3,7 +3,7 @@ package org.jeecg.modules.system.controller;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;

View File

@ -3,16 +3,16 @@ package org.jeecg.modules.system.controller;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.config.TenantContext; import org.jeecg.common.config.TenantContext;
@ -30,9 +30,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -43,7 +40,7 @@ import java.util.List;
* @Version: V1.0 * @Version: V1.0
*/ */
@Slf4j @Slf4j
@Api(tags = "多数据源管理") @Tag(name = "多数据源管理")
@RestController @RestController
@RequestMapping("/sys/dataSource") @RequestMapping("/sys/dataSource")
public class SysDataSourceController extends JeecgController<SysDataSource, ISysDataSourceService> { public class SysDataSourceController extends JeecgController<SysDataSource, ISysDataSourceService> {
@ -62,7 +59,7 @@ public class SysDataSourceController extends JeecgController<SysDataSource, ISys
* @return * @return
*/ */
@AutoLog(value = "多数据源管理-分页列表查询") @AutoLog(value = "多数据源管理-分页列表查询")
@ApiOperation(value = "多数据源管理-分页列表查询", notes = "多数据源管理-分页列表查询") @Operation(summary = "多数据源管理-分页列表查询")
@RequiresPermissions("system:datasource:list") @RequiresPermissions("system:datasource:list")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<?> queryPageList( public Result<?> queryPageList(
@ -111,7 +108,7 @@ public class SysDataSourceController extends JeecgController<SysDataSource, ISys
* @return * @return
*/ */
@AutoLog(value = "多数据源管理-添加") @AutoLog(value = "多数据源管理-添加")
@ApiOperation(value = "多数据源管理-添加", notes = "多数据源管理-添加") @Operation(summary = "多数据源管理-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<?> add(@RequestBody SysDataSource sysDataSource) { public Result<?> add(@RequestBody SysDataSource sysDataSource) {
//update-begin-author:taoyan date:2022-8-10 for: jdbc连接地址漏洞问题 //update-begin-author:taoyan date:2022-8-10 for: jdbc连接地址漏洞问题
@ -132,7 +129,7 @@ public class SysDataSourceController extends JeecgController<SysDataSource, ISys
* @return * @return
*/ */
@AutoLog(value = "多数据源管理-编辑") @AutoLog(value = "多数据源管理-编辑")
@ApiOperation(value = "多数据源管理-编辑", notes = "多数据源管理-编辑") @Operation(summary = "多数据源管理-编辑")
@RequestMapping(value = "/edit", method ={RequestMethod.PUT, RequestMethod.POST}) @RequestMapping(value = "/edit", method ={RequestMethod.PUT, RequestMethod.POST})
public Result<?> edit(@RequestBody SysDataSource sysDataSource) { public Result<?> edit(@RequestBody SysDataSource sysDataSource) {
//update-begin-author:taoyan date:2022-8-10 for: jdbc连接地址漏洞问题 //update-begin-author:taoyan date:2022-8-10 for: jdbc连接地址漏洞问题
@ -153,7 +150,7 @@ public class SysDataSourceController extends JeecgController<SysDataSource, ISys
* @return * @return
*/ */
@AutoLog(value = "多数据源管理-通过id删除") @AutoLog(value = "多数据源管理-通过id删除")
@ApiOperation(value = "多数据源管理-通过id删除", notes = "多数据源管理-通过id删除") @Operation(summary = "多数据源管理-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id") String id) { public Result<?> delete(@RequestParam(name = "id") String id) {
return sysDataSourceService.deleteDataSource(id); return sysDataSourceService.deleteDataSource(id);
@ -166,7 +163,7 @@ public class SysDataSourceController extends JeecgController<SysDataSource, ISys
* @return * @return
*/ */
@AutoLog(value = "多数据源管理-批量删除") @AutoLog(value = "多数据源管理-批量删除")
@ApiOperation(value = "多数据源管理-批量删除", notes = "多数据源管理-批量删除") @Operation(summary = "多数据源管理-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) { public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) {
List<String> idList = Arrays.asList(ids.split(",")); List<String> idList = Arrays.asList(ids.split(","));
@ -185,7 +182,7 @@ public class SysDataSourceController extends JeecgController<SysDataSource, ISys
* @return * @return
*/ */
@AutoLog(value = "多数据源管理-通过id查询") @AutoLog(value = "多数据源管理-通过id查询")
@ApiOperation(value = "多数据源管理-通过id查询", notes = "多数据源管理-通过id查询") @Operation(summary = "多数据源管理-通过id查询")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id") String id) throws InterruptedException { public Result<?> queryById(@RequestParam(name = "id") String id) throws InterruptedException {
SysDataSource sysDataSource = sysDataSourceService.getById(id); SysDataSource sysDataSource = sysDataSourceService.getById(id);

View File

@ -15,6 +15,7 @@ import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.ImportExcelUtil; import org.jeecg.common.util.ImportExcelUtil;
import org.jeecg.common.util.RedisUtil;
import org.jeecg.common.util.YouBianCodeUtil; import org.jeecg.common.util.YouBianCodeUtil;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.jeecg.config.mybatis.MybatisPlusSaasConfig; import org.jeecg.config.mybatis.MybatisPlusSaasConfig;
@ -40,8 +41,8 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
@ -65,6 +66,8 @@ public class SysDepartController {
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Autowired @Autowired
private ISysUserDepartService sysUserDepartService; private ISysUserDepartService sysUserDepartService;
@Autowired
private RedisUtil redisUtil;
/** /**
* 查询数据 查出我的部门,并以树结构数据格式响应给前端 * 查询数据 查出我的部门,并以树结构数据格式响应给前端
* *
@ -470,8 +473,8 @@ public class SysDepartController {
//update-end---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径--- //update-end---author:wangshuai---date:2023-10-19---for:【QQYUN-5482】系统的部门导入导出也可以改成敲敲云模式的部门路径---
//清空部门缓存 //清空部门缓存
Set keys3 = redisTemplate.keys(CacheConstant.SYS_DEPARTS_CACHE + "*"); List<String> keys3 = redisUtil.scan(CacheConstant.SYS_DEPARTS_CACHE + "*");
Set keys4 = redisTemplate.keys(CacheConstant.SYS_DEPART_IDS_CACHE + "*"); List<String> keys4 = redisUtil.scan(CacheConstant.SYS_DEPART_IDS_CACHE + "*");
redisTemplate.delete(keys3); redisTemplate.delete(keys3);
redisTemplate.delete(keys4); redisTemplate.delete(keys4);
return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList); return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList);
@ -664,8 +667,8 @@ public class SysDepartController {
listSysDeparts = ExcelImportUtil.importExcel(file.getInputStream(), ExportDepartVo.class, params); listSysDeparts = ExcelImportUtil.importExcel(file.getInputStream(), ExportDepartVo.class, params);
sysDepartService.importExcel(listSysDeparts,errorMessageList); sysDepartService.importExcel(listSysDeparts,errorMessageList);
//清空部门缓存 //清空部门缓存
Set keys3 = redisTemplate.keys(CacheConstant.SYS_DEPARTS_CACHE + "*"); List<String> keys3 = redisUtil.scan(CacheConstant.SYS_DEPARTS_CACHE + "*");
Set keys4 = redisTemplate.keys(CacheConstant.SYS_DEPART_IDS_CACHE + "*"); List<String> keys4 = redisUtil.scan(CacheConstant.SYS_DEPART_IDS_CACHE + "*");
redisTemplate.delete(keys3); redisTemplate.delete(keys3);
redisTemplate.delete(keys4); redisTemplate.delete(keys4);
return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList); return ImportExcelUtil.imporReturnRes(errorMessageList.size(), listSysDeparts.size() - errorMessageList.size(), errorMessageList);

View File

@ -1,18 +1,20 @@
package org.jeecg.modules.system.controller; package org.jeecg.modules.system.controller;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.base.service.BaseCommonService; import org.jeecg.modules.base.service.BaseCommonService;
@ -22,20 +24,15 @@ import org.jeecg.modules.system.entity.SysPermission;
import org.jeecg.modules.system.entity.SysPermissionDataRule; import org.jeecg.modules.system.entity.SysPermissionDataRule;
import org.jeecg.modules.system.model.TreeModel; import org.jeecg.modules.system.model.TreeModel;
import org.jeecg.modules.system.service.ISysDepartPermissionService; import org.jeecg.modules.system.service.ISysDepartPermissionService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.system.service.ISysDepartRolePermissionService; import org.jeecg.modules.system.service.ISysDepartRolePermissionService;
import org.jeecg.modules.system.service.ISysPermissionDataRuleService; import org.jeecg.modules.system.service.ISysPermissionDataRuleService;
import org.jeecg.modules.system.service.ISysPermissionService; import org.jeecg.modules.system.service.ISysPermissionService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @Description: 部门权限表 * @Description: 部门权限表
@ -44,7 +41,7 @@ import io.swagger.annotations.ApiOperation;
* @Version: V1.0 * @Version: V1.0
*/ */
@Slf4j @Slf4j
@Api(tags="部门权限表") @Tag(name="部门权限表")
@RestController @RestController
@RequestMapping("/sys/sysDepartPermission") @RequestMapping("/sys/sysDepartPermission")
public class SysDepartPermissionController extends JeecgController<SysDepartPermission, ISysDepartPermissionService> { public class SysDepartPermissionController extends JeecgController<SysDepartPermission, ISysDepartPermissionService> {
@ -72,7 +69,7 @@ public class SysDepartPermissionController extends JeecgController<SysDepartPerm
* @param req * @param req
* @return * @return
*/ */
@ApiOperation(value="部门权限表-分页列表查询", notes="部门权限表-分页列表查询") @Operation(summary="部门权限表-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<?> queryPageList(SysDepartPermission sysDepartPermission, public Result<?> queryPageList(SysDepartPermission sysDepartPermission,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@ -90,7 +87,7 @@ public class SysDepartPermissionController extends JeecgController<SysDepartPerm
* @param sysDepartPermission * @param sysDepartPermission
* @return * @return
*/ */
@ApiOperation(value="部门权限表-添加", notes="部门权限表-添加") @Operation(summary="部门权限表-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<?> add(@RequestBody SysDepartPermission sysDepartPermission) { public Result<?> add(@RequestBody SysDepartPermission sysDepartPermission) {
sysDepartPermissionService.save(sysDepartPermission); sysDepartPermissionService.save(sysDepartPermission);
@ -103,7 +100,7 @@ public class SysDepartPermissionController extends JeecgController<SysDepartPerm
* @param sysDepartPermission * @param sysDepartPermission
* @return * @return
*/ */
@ApiOperation(value="部门权限表-编辑", notes="部门权限表-编辑") @Operation(summary="部门权限表-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<?> edit(@RequestBody SysDepartPermission sysDepartPermission) { public Result<?> edit(@RequestBody SysDepartPermission sysDepartPermission) {
sysDepartPermissionService.updateById(sysDepartPermission); sysDepartPermissionService.updateById(sysDepartPermission);
@ -116,7 +113,7 @@ public class SysDepartPermissionController extends JeecgController<SysDepartPerm
* @param id * @param id
* @return * @return
*/ */
@ApiOperation(value="部门权限表-通过id删除", notes="部门权限表-通过id删除") @Operation(summary="部门权限表-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) { public Result<?> delete(@RequestParam(name="id",required=true) String id) {
sysDepartPermissionService.removeById(id); sysDepartPermissionService.removeById(id);
@ -129,7 +126,7 @@ public class SysDepartPermissionController extends JeecgController<SysDepartPerm
* @param ids * @param ids
* @return * @return
*/ */
@ApiOperation(value="部门权限表-批量删除", notes="部门权限表-批量删除") @Operation(summary="部门权限表-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.sysDepartPermissionService.removeByIds(Arrays.asList(ids.split(","))); this.sysDepartPermissionService.removeByIds(Arrays.asList(ids.split(",")));
@ -142,7 +139,7 @@ public class SysDepartPermissionController extends JeecgController<SysDepartPerm
* @param id * @param id
* @return * @return
*/ */
@ApiOperation(value="部门权限表-通过id查询", notes="部门权限表-通过id查询") @Operation(summary="部门权限表-通过id查询")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) { public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
SysDepartPermission sysDepartPermission = sysDepartPermissionService.getById(id); SysDepartPermission sysDepartPermission = sysDepartPermissionService.getById(id);

View File

@ -2,9 +2,12 @@ package org.jeecg.modules.system.controller;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import io.swagger.v3.oas.annotations.Operation;
import javax.servlet.http.HttpServletResponse; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -29,8 +32,6 @@ import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/** /**
* @Description: 部门角色 * @Description: 部门角色
@ -39,7 +40,7 @@ import io.swagger.annotations.ApiOperation;
* @Version: V1.0 * @Version: V1.0
*/ */
@Slf4j @Slf4j
@Api(tags="部门角色") @Tag(name="部门角色")
@RestController @RestController
@RequestMapping("/sys/sysDepartRole") @RequestMapping("/sys/sysDepartRole")
public class SysDepartRoleController extends JeecgController<SysDepartRole, ISysDepartRoleService> { public class SysDepartRoleController extends JeecgController<SysDepartRole, ISysDepartRoleService> {
@ -70,7 +71,7 @@ public class SysDepartRoleController extends JeecgController<SysDepartRole, ISys
* @param req * @param req
* @return * @return
*/ */
@ApiOperation(value="部门角色-分页列表查询", notes="部门角色-分页列表查询") @Operation(summary="部门角色-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<?> queryPageList(SysDepartRole sysDepartRole, public Result<?> queryPageList(SysDepartRole sysDepartRole,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@ -111,7 +112,7 @@ public class SysDepartRoleController extends JeecgController<SysDepartRole, ISys
* @return * @return
*/ */
@RequiresPermissions("system:depart:role:add") @RequiresPermissions("system:depart:role:add")
@ApiOperation(value="部门角色-添加", notes="部门角色-添加") @Operation(summary="部门角色-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<?> add(@RequestBody SysDepartRole sysDepartRole) { public Result<?> add(@RequestBody SysDepartRole sysDepartRole) {
sysDepartRoleService.save(sysDepartRole); sysDepartRoleService.save(sysDepartRole);
@ -124,7 +125,7 @@ public class SysDepartRoleController extends JeecgController<SysDepartRole, ISys
* @param sysDepartRole * @param sysDepartRole
* @return * @return
*/ */
@ApiOperation(value="部门角色-编辑", notes="部门角色-编辑") @Operation(summary="部门角色-编辑")
@RequiresPermissions("system:depart:role:edit") @RequiresPermissions("system:depart:role:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<?> edit(@RequestBody SysDepartRole sysDepartRole) { public Result<?> edit(@RequestBody SysDepartRole sysDepartRole) {
@ -139,7 +140,7 @@ public class SysDepartRoleController extends JeecgController<SysDepartRole, ISys
* @return * @return
*/ */
@AutoLog(value = "部门角色-通过id删除") @AutoLog(value = "部门角色-通过id删除")
@ApiOperation(value="部门角色-通过id删除", notes="部门角色-通过id删除") @Operation(summary="部门角色-通过id删除")
@RequiresPermissions("system:depart:role:delete") @RequiresPermissions("system:depart:role:delete")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) { public Result<?> delete(@RequestParam(name="id",required=true) String id) {
@ -154,7 +155,7 @@ public class SysDepartRoleController extends JeecgController<SysDepartRole, ISys
* @return * @return
*/ */
@AutoLog(value = "部门角色-批量删除") @AutoLog(value = "部门角色-批量删除")
@ApiOperation(value="部门角色-批量删除", notes="部门角色-批量删除") @Operation(summary="部门角色-批量删除")
@RequiresPermissions("system:depart:role:deleteBatch") @RequiresPermissions("system:depart:role:deleteBatch")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
@ -169,7 +170,7 @@ public class SysDepartRoleController extends JeecgController<SysDepartRole, ISys
* @param id * @param id
* @return * @return
*/ */
@ApiOperation(value="部门角色-通过id查询", notes="部门角色-通过id查询") @Operation(summary="部门角色-通过id查询")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) { public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
SysDepartRole sysDepartRole = sysDepartRoleService.getById(id); SysDepartRole sysDepartRole = sysDepartRoleService.getById(id);

View File

@ -46,8 +46,8 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.util.*; import java.util.*;

View File

@ -4,11 +4,11 @@ package org.jeecg.modules.system.controller;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import javax.servlet.http.HttpServletRequest; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles; import org.apache.shiro.authz.annotation.RequiresRoles;
@ -40,7 +40,7 @@ import lombok.extern.slf4j.Slf4j;
* @Author zhangweijian * @Author zhangweijian
* @since 2018-12-28 * @since 2018-12-28
*/ */
@Api(tags = "数据字典") @Tag(name = "数据字典")
@RestController @RestController
@RequestMapping("/sys/dictItem") @RequestMapping("/sys/dictItem")
@Slf4j @Slf4j
@ -162,7 +162,7 @@ public class SysDictItemController {
* @return * @return
*/ */
@RequestMapping(value = "/dictItemCheck", method = RequestMethod.GET) @RequestMapping(value = "/dictItemCheck", method = RequestMethod.GET)
@ApiOperation("字典重复校验接口") @Operation(summary = "字典重复校验接口")
public Result<Object> doDictItemCheck(SysDictItem sysDictItem, HttpServletRequest request) { public Result<Object> doDictItemCheck(SysDictItem sysDictItem, HttpServletRequest request) {
Long num = Long.valueOf(0); Long num = Long.valueOf(0);
LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<SysDictItem>(); LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<SysDictItem>();

View File

@ -5,8 +5,8 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
@ -19,8 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.util.Arrays; import java.util.Arrays;
/** /**
@ -30,7 +30,7 @@ import java.util.Arrays;
* @Version: V1.0 * @Version: V1.0
*/ */
@Slf4j @Slf4j
@Api(tags = "填值规则") @Tag(name = "填值规则")
@RestController @RestController
@RequestMapping("/sys/fillRule") @RequestMapping("/sys/fillRule")
public class SysFillRuleController extends JeecgController<SysFillRule, ISysFillRuleService> { public class SysFillRuleController extends JeecgController<SysFillRule, ISysFillRuleService> {
@ -47,7 +47,7 @@ public class SysFillRuleController extends JeecgController<SysFillRule, ISysFill
* @return * @return
*/ */
@AutoLog(value = "填值规则-分页列表查询") @AutoLog(value = "填值规则-分页列表查询")
@ApiOperation(value = "填值规则-分页列表查询", notes = "填值规则-分页列表查询") @Operation(summary = "填值规则-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<?> queryPageList(SysFillRule sysFillRule, public Result<?> queryPageList(SysFillRule sysFillRule,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@ -78,7 +78,7 @@ public class SysFillRuleController extends JeecgController<SysFillRule, ISysFill
* @return * @return
*/ */
@AutoLog(value = "填值规则-添加") @AutoLog(value = "填值规则-添加")
@ApiOperation(value = "填值规则-添加", notes = "填值规则-添加") @Operation(summary = "填值规则-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<?> add(@RequestBody SysFillRule sysFillRule) { public Result<?> add(@RequestBody SysFillRule sysFillRule) {
sysFillRuleService.save(sysFillRule); sysFillRuleService.save(sysFillRule);
@ -92,7 +92,7 @@ public class SysFillRuleController extends JeecgController<SysFillRule, ISysFill
* @return * @return
*/ */
@AutoLog(value = "填值规则-编辑") @AutoLog(value = "填值规则-编辑")
@ApiOperation(value = "填值规则-编辑", notes = "填值规则-编辑") @Operation(summary = "填值规则-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<?> edit(@RequestBody SysFillRule sysFillRule) { public Result<?> edit(@RequestBody SysFillRule sysFillRule) {
sysFillRuleService.updateById(sysFillRule); sysFillRuleService.updateById(sysFillRule);
@ -106,7 +106,7 @@ public class SysFillRuleController extends JeecgController<SysFillRule, ISysFill
* @return * @return
*/ */
@AutoLog(value = "填值规则-通过id删除") @AutoLog(value = "填值规则-通过id删除")
@ApiOperation(value = "填值规则-通过id删除", notes = "填值规则-通过id删除") @Operation(summary = "填值规则-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) { public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
sysFillRuleService.removeById(id); sysFillRuleService.removeById(id);
@ -120,7 +120,7 @@ public class SysFillRuleController extends JeecgController<SysFillRule, ISysFill
* @return * @return
*/ */
@AutoLog(value = "填值规则-批量删除") @AutoLog(value = "填值规则-批量删除")
@ApiOperation(value = "填值规则-批量删除", notes = "填值规则-批量删除") @Operation(summary = "填值规则-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.sysFillRuleService.removeByIds(Arrays.asList(ids.split(","))); this.sysFillRuleService.removeByIds(Arrays.asList(ids.split(",")));
@ -134,7 +134,7 @@ public class SysFillRuleController extends JeecgController<SysFillRule, ISysFill
* @return * @return
*/ */
@AutoLog(value = "填值规则-通过id查询") @AutoLog(value = "填值规则-通过id查询")
@ApiOperation(value = "填值规则-通过id查询", notes = "填值规则-通过id查询") @Operation(summary = "填值规则-通过id查询")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
SysFillRule sysFillRule = sysFillRuleService.getById(id); SysFillRule sysFillRule = sysFillRuleService.getById(id);

View File

@ -3,8 +3,8 @@ package org.jeecg.modules.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
@ -16,8 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.util.Arrays; import java.util.Arrays;
/** /**
@ -27,7 +27,7 @@ import java.util.Arrays;
* @Version: V1.0 * @Version: V1.0
*/ */
@Slf4j @Slf4j
@Api(tags = "表单评论文件") @Tag(name = "表单评论文件")
@RestController @RestController
@RequestMapping("/sys/formFile") @RequestMapping("/sys/formFile")
public class SysFormFileController extends JeecgController<SysFormFile, ISysFormFileService> { public class SysFormFileController extends JeecgController<SysFormFile, ISysFormFileService> {
@ -44,7 +44,7 @@ public class SysFormFileController extends JeecgController<SysFormFile, ISysForm
* @return * @return
*/ */
@AutoLog(value = "表单评论文件-分页列表查询") @AutoLog(value = "表单评论文件-分页列表查询")
@ApiOperation(value = "表单评论文件-分页列表查询", notes = "表单评论文件-分页列表查询") @Operation(summary = "表单评论文件-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<?> queryPageList(SysFormFile sysFormFile, public Result<?> queryPageList(SysFormFile sysFormFile,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@ -63,7 +63,7 @@ public class SysFormFileController extends JeecgController<SysFormFile, ISysForm
* @return * @return
*/ */
@AutoLog(value = "表单评论文件-添加") @AutoLog(value = "表单评论文件-添加")
@ApiOperation(value = "表单评论文件-添加", notes = "表单评论文件-添加") @Operation(summary = "表单评论文件-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<?> add(@RequestBody SysFormFile sysFormFile) { public Result<?> add(@RequestBody SysFormFile sysFormFile) {
sysFormFileService.save(sysFormFile); sysFormFileService.save(sysFormFile);
@ -77,7 +77,7 @@ public class SysFormFileController extends JeecgController<SysFormFile, ISysForm
* @return * @return
*/ */
@AutoLog(value = "表单评论文件-编辑") @AutoLog(value = "表单评论文件-编辑")
@ApiOperation(value = "表单评论文件-编辑", notes = "表单评论文件-编辑") @Operation(summary = "表单评论文件-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
public Result<?> edit(@RequestBody SysFormFile sysFormFile) { public Result<?> edit(@RequestBody SysFormFile sysFormFile) {
sysFormFileService.updateById(sysFormFile); sysFormFileService.updateById(sysFormFile);
@ -91,7 +91,7 @@ public class SysFormFileController extends JeecgController<SysFormFile, ISysForm
* @return * @return
*/ */
@AutoLog(value = "表单评论文件-通过id删除") @AutoLog(value = "表单评论文件-通过id删除")
@ApiOperation(value = "表单评论文件-通过id删除", notes = "表单评论文件-通过id删除") @Operation(summary = "表单评论文件-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) { public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
sysFormFileService.removeById(id); sysFormFileService.removeById(id);
@ -105,7 +105,7 @@ public class SysFormFileController extends JeecgController<SysFormFile, ISysForm
* @return * @return
*/ */
@AutoLog(value = "表单评论文件-批量删除") @AutoLog(value = "表单评论文件-批量删除")
@ApiOperation(value = "表单评论文件-批量删除", notes = "表单评论文件-批量删除") @Operation(summary = "表单评论文件-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.sysFormFileService.removeByIds(Arrays.asList(ids.split(","))); this.sysFormFileService.removeByIds(Arrays.asList(ids.split(",")));
@ -119,7 +119,7 @@ public class SysFormFileController extends JeecgController<SysFormFile, ISysForm
* @return * @return
*/ */
@AutoLog(value = "表单评论文件-通过id查询") @AutoLog(value = "表单评论文件-通过id查询")
@ApiOperation(value = "表单评论文件-通过id查询", notes = "表单评论文件-通过id查询") @Operation(summary = "表单评论文件-通过id查询")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
SysFormFile sysFormFile = sysFormFileService.getById(id); SysFormFile sysFormFile = sysFormFileService.getById(id);

View File

@ -3,7 +3,8 @@ package org.jeecg.modules.system.controller;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
@ -15,7 +16,6 @@ import org.jeecg.modules.system.service.ISysGatewayRouteService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -25,7 +25,7 @@ import java.util.List;
* @Date: 2020-05-26 * @Date: 2020-05-26
* @Version: V1.0 * @Version: V1.0
*/ */
@Api(tags = "gateway路由管理") @Tag(name = "gateway路由管理")
@RestController @RestController
@RequestMapping("/sys/gatewayRoute") @RequestMapping("/sys/gatewayRoute")
@Slf4j @Slf4j

View File

@ -3,7 +3,7 @@ package org.jeecg.modules.system.controller;
import java.util.Arrays; import java.util.Arrays;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;

View File

@ -27,7 +27,7 @@ import org.jeecg.modules.system.util.PermissionDataUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@ -5,8 +5,8 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
@ -34,8 +34,8 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
@ -52,7 +52,7 @@ import java.util.stream.Collectors;
* @Version: V1.0 * @Version: V1.0
*/ */
@Slf4j @Slf4j
@Api(tags = "职务表") @Tag(name = "职务表")
@RestController @RestController
@RequestMapping("/sys/position") @RequestMapping("/sys/position")
public class SysPositionController { public class SysPositionController {
@ -76,7 +76,7 @@ public class SysPositionController {
* @return * @return
*/ */
@AutoLog(value = "职务表-分页列表查询") @AutoLog(value = "职务表-分页列表查询")
@ApiOperation(value = "职务表-分页列表查询", notes = "职务表-分页列表查询") @Operation(summary = "职务表-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<IPage<SysPosition>> queryPageList(SysPosition sysPosition, public Result<IPage<SysPosition>> queryPageList(SysPosition sysPosition,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@ -104,7 +104,7 @@ public class SysPositionController {
* @return * @return
*/ */
@AutoLog(value = "职务表-添加") @AutoLog(value = "职务表-添加")
@ApiOperation(value = "职务表-添加", notes = "职务表-添加") @Operation(summary = "职务表-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
public Result<SysPosition> add(@RequestBody SysPosition sysPosition) { public Result<SysPosition> add(@RequestBody SysPosition sysPosition) {
Result<SysPosition> result = new Result<SysPosition>(); Result<SysPosition> result = new Result<SysPosition>();
@ -132,7 +132,7 @@ public class SysPositionController {
* @return * @return
*/ */
@AutoLog(value = "职务表-编辑") @AutoLog(value = "职务表-编辑")
@ApiOperation(value = "职务表-编辑", notes = "职务表-编辑") @Operation(summary = "职务表-编辑")
@RequestMapping(value = "/edit", method ={RequestMethod.PUT, RequestMethod.POST}) @RequestMapping(value = "/edit", method ={RequestMethod.PUT, RequestMethod.POST})
public Result<SysPosition> edit(@RequestBody SysPosition sysPosition) { public Result<SysPosition> edit(@RequestBody SysPosition sysPosition) {
Result<SysPosition> result = new Result<SysPosition>(); Result<SysPosition> result = new Result<SysPosition>();
@ -157,7 +157,7 @@ public class SysPositionController {
* @return * @return
*/ */
@AutoLog(value = "职务表-通过id删除") @AutoLog(value = "职务表-通过id删除")
@ApiOperation(value = "职务表-通过id删除", notes = "职务表-通过id删除") @Operation(summary = "职务表-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) { public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
try { try {
@ -178,7 +178,7 @@ public class SysPositionController {
* @return * @return
*/ */
@AutoLog(value = "职务表-批量删除") @AutoLog(value = "职务表-批量删除")
@ApiOperation(value = "职务表-批量删除", notes = "职务表-批量删除") @Operation(summary = "职务表-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<SysPosition> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result<SysPosition> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
Result<SysPosition> result = new Result<SysPosition>(); Result<SysPosition> result = new Result<SysPosition>();
@ -198,7 +198,7 @@ public class SysPositionController {
* @return * @return
*/ */
@AutoLog(value = "职务表-通过id查询") @AutoLog(value = "职务表-通过id查询")
@ApiOperation(value = "职务表-通过id查询", notes = "职务表-通过id查询") @Operation(summary = "职务表-通过id查询")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
public Result<SysPosition> queryById(@RequestParam(name = "id", required = true) String id) { public Result<SysPosition> queryById(@RequestParam(name = "id", required = true) String id) {
Result<SysPosition> result = new Result<SysPosition>(); Result<SysPosition> result = new Result<SysPosition>();
@ -303,7 +303,7 @@ public class SysPositionController {
* @return * @return
*/ */
@AutoLog(value = "职务表-通过code查询") @AutoLog(value = "职务表-通过code查询")
@ApiOperation(value = "职务表-通过code查询", notes = "职务表-通过code查询") @Operation(summary = "职务表-通过code查询")
@GetMapping(value = "/queryByCode") @GetMapping(value = "/queryByCode")
public Result<SysPosition> queryByCode(@RequestParam(name = "code", required = true) String code) { public Result<SysPosition> queryByCode(@RequestParam(name = "code", required = true) String code) {
Result<SysPosition> result = new Result<SysPosition>(); Result<SysPosition> result = new Result<SysPosition>();
@ -327,7 +327,7 @@ public class SysPositionController {
* @return * @return
*/ */
@AutoLog(value = "职务表-通过多个查询") @AutoLog(value = "职务表-通过多个查询")
@ApiOperation(value = "职务表-通过多个id查询", notes = "职务表-通过多个id查询") @Operation(summary = "职务表-通过多个id查询")
@GetMapping(value = "/queryByIds") @GetMapping(value = "/queryByIds")
public Result<List<SysPosition>> queryByIds(@RequestParam(name = "ids") String ids) { public Result<List<SysPosition>> queryByIds(@RequestParam(name = "ids") String ids) {
Result<List<SysPosition>> result = new Result<>(); Result<List<SysPosition>> result = new Result<>();

View File

@ -10,8 +10,8 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;

View File

@ -1,27 +1,31 @@
package org.jeecg.modules.system.controller; package org.jeecg.modules.system.controller;
import java.util.Arrays;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.modules.system.entity.SysRoleIndex;
import org.jeecg.modules.system.service.ISysRoleIndexService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.system.entity.SysRoleIndex;
import org.jeecg.modules.system.service.ISysRoleIndexService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
/** /**
* @Description: 角色首页配置 * @Description: 角色首页配置
* @Author: jeecg-boot * @Author: jeecg-boot
@ -29,7 +33,7 @@ import java.util.Arrays;
* @Version: V1.0 * @Version: V1.0
*/ */
@Slf4j @Slf4j
@Api(tags = "角色首页配置") @Tag(name = "角色首页配置")
@RestController @RestController
@RequestMapping("/sys/sysRoleIndex") @RequestMapping("/sys/sysRoleIndex")
public class SysRoleIndexController extends JeecgController<SysRoleIndex, ISysRoleIndexService> { public class SysRoleIndexController extends JeecgController<SysRoleIndex, ISysRoleIndexService> {
@ -46,7 +50,7 @@ public class SysRoleIndexController extends JeecgController<SysRoleIndex, ISysRo
* @return * @return
*/ */
@AutoLog(value = "角色首页配置-分页列表查询") @AutoLog(value = "角色首页配置-分页列表查询")
@ApiOperation(value = "角色首页配置-分页列表查询", notes = "角色首页配置-分页列表查询") @Operation(summary = "角色首页配置-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public Result<?> queryPageList(SysRoleIndex sysRoleIndex, public Result<?> queryPageList(SysRoleIndex sysRoleIndex,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@ -66,7 +70,7 @@ public class SysRoleIndexController extends JeecgController<SysRoleIndex, ISysRo
*/ */
@RequiresPermissions("system:roleindex:add") @RequiresPermissions("system:roleindex:add")
@AutoLog(value = "角色首页配置-添加") @AutoLog(value = "角色首页配置-添加")
@ApiOperation(value = "角色首页配置-添加", notes = "角色首页配置-添加") @Operation(summary = "角色首页配置-添加")
@PostMapping(value = "/add") @PostMapping(value = "/add")
//@DynamicTable(value = DynamicTableConstant.SYS_ROLE_INDEX) //@DynamicTable(value = DynamicTableConstant.SYS_ROLE_INDEX)
public Result<?> add(@RequestBody SysRoleIndex sysRoleIndex,HttpServletRequest request) { public Result<?> add(@RequestBody SysRoleIndex sysRoleIndex,HttpServletRequest request) {
@ -82,7 +86,7 @@ public class SysRoleIndexController extends JeecgController<SysRoleIndex, ISysRo
*/ */
@RequiresPermissions("system:roleindex:edit") @RequiresPermissions("system:roleindex:edit")
@AutoLog(value = "角色首页配置-编辑") @AutoLog(value = "角色首页配置-编辑")
@ApiOperation(value = "角色首页配置-编辑", notes = "角色首页配置-编辑") @Operation(summary = "角色首页配置-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
//@DynamicTable(value = DynamicTableConstant.SYS_ROLE_INDEX) //@DynamicTable(value = DynamicTableConstant.SYS_ROLE_INDEX)
public Result<?> edit(@RequestBody SysRoleIndex sysRoleIndex,HttpServletRequest request) { public Result<?> edit(@RequestBody SysRoleIndex sysRoleIndex,HttpServletRequest request) {
@ -97,7 +101,7 @@ public class SysRoleIndexController extends JeecgController<SysRoleIndex, ISysRo
* @return * @return
*/ */
@AutoLog(value = "角色首页配置-通过id删除") @AutoLog(value = "角色首页配置-通过id删除")
@ApiOperation(value = "角色首页配置-通过id删除", notes = "角色首页配置-通过id删除") @Operation(summary = "角色首页配置-通过id删除")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) { public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
sysRoleIndexService.removeById(id); sysRoleIndexService.removeById(id);
@ -111,7 +115,7 @@ public class SysRoleIndexController extends JeecgController<SysRoleIndex, ISysRo
* @return * @return
*/ */
@AutoLog(value = "角色首页配置-批量删除") @AutoLog(value = "角色首页配置-批量删除")
@ApiOperation(value = "角色首页配置-批量删除", notes = "角色首页配置-批量删除") @Operation(summary = "角色首页配置-批量删除")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.sysRoleIndexService.removeByIds(Arrays.asList(ids.split(","))); this.sysRoleIndexService.removeByIds(Arrays.asList(ids.split(",")));
@ -125,7 +129,7 @@ public class SysRoleIndexController extends JeecgController<SysRoleIndex, ISysRo
* @return * @return
*/ */
@AutoLog(value = "角色首页配置-通过id查询") @AutoLog(value = "角色首页配置-通过id查询")
@ApiOperation(value = "角色首页配置-通过id查询", notes = "角色首页配置-通过id查询") @Operation(summary = "角色首页配置-通过id查询")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
SysRoleIndex sysRoleIndex = sysRoleIndexService.getById(id); SysRoleIndex sysRoleIndex = sysRoleIndexService.getById(id);
@ -162,7 +166,7 @@ public class SysRoleIndexController extends JeecgController<SysRoleIndex, ISysRo
* @return * @return
*/ */
@AutoLog(value = "角色首页配置-通过code查询") @AutoLog(value = "角色首页配置-通过code查询")
@ApiOperation(value = "角色首页配置-通过code查询", notes = "角色首页配置-通过code查询") @Operation(summary = "角色首页配置-通过code查询")
@GetMapping(value = "/queryByCode") @GetMapping(value = "/queryByCode")
//@DynamicTable(value = DynamicTableConstant.SYS_ROLE_INDEX) //@DynamicTable(value = DynamicTableConstant.SYS_ROLE_INDEX)
public Result<?> queryByCode(@RequestParam(name = "roleCode", required = true) String roleCode,HttpServletRequest request) { public Result<?> queryByCode(@RequestParam(name = "roleCode", required = true) String roleCode,HttpServletRequest request) {

View File

@ -3,11 +3,12 @@ package org.jeecg.modules.system.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j; import jakarta.servlet.http.HttpServletRequest;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresRoles; import org.apache.shiro.authz.annotation.RequiresRoles;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
@ -17,8 +18,6 @@ import org.jeecg.modules.system.service.ISysTableWhiteListService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/** /**
* @Description: 系统表白名单 * @Description: 系统表白名单
* @Author: jeecg-boot * @Author: jeecg-boot
@ -26,7 +25,7 @@ import javax.servlet.http.HttpServletRequest;
* @Version: V1.0 * @Version: V1.0
*/ */
@Slf4j @Slf4j
@Api(tags = "系统表白名单") @Tag(name = "系统表白名单")
@RestController @RestController
@RequestMapping("/sys/tableWhiteList") @RequestMapping("/sys/tableWhiteList")
public class SysTableWhiteListController extends JeecgController<SysTableWhiteList, ISysTableWhiteListService> { public class SysTableWhiteListController extends JeecgController<SysTableWhiteList, ISysTableWhiteListService> {
@ -65,7 +64,7 @@ public class SysTableWhiteListController extends JeecgController<SysTableWhiteLi
* @return * @return
*/ */
@AutoLog(value = "系统表白名单-添加") @AutoLog(value = "系统表白名单-添加")
@ApiOperation(value = "系统表白名单-添加", notes = "系统表白名单-添加") @Operation(summary = "系统表白名单-添加")
//@RequiresRoles("admin") //@RequiresRoles("admin")
@RequiresPermissions("system:tableWhite:add") @RequiresPermissions("system:tableWhite:add")
@PostMapping(value = "/add") @PostMapping(value = "/add")
@ -84,7 +83,7 @@ public class SysTableWhiteListController extends JeecgController<SysTableWhiteLi
* @return * @return
*/ */
@AutoLog(value = "系统表白名单-编辑") @AutoLog(value = "系统表白名单-编辑")
@ApiOperation(value = "系统表白名单-编辑", notes = "系统表白名单-编辑") @Operation(summary = "系统表白名单-编辑")
//@RequiresRoles("admin") //@RequiresRoles("admin")
@RequiresPermissions("system:tableWhite:edit") @RequiresPermissions("system:tableWhite:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
@ -103,7 +102,7 @@ public class SysTableWhiteListController extends JeecgController<SysTableWhiteLi
* @return * @return
*/ */
@AutoLog(value = "系统表白名单-通过id删除") @AutoLog(value = "系统表白名单-通过id删除")
@ApiOperation(value = "系统表白名单-通过id删除", notes = "系统表白名单-通过id删除") @Operation(summary = "系统表白名单-通过id删除")
// @RequiresRoles("admin") // @RequiresRoles("admin")
@RequiresPermissions("system:tableWhite:delete") @RequiresPermissions("system:tableWhite:delete")
@DeleteMapping(value = "/delete") @DeleteMapping(value = "/delete")
@ -122,7 +121,7 @@ public class SysTableWhiteListController extends JeecgController<SysTableWhiteLi
* @return * @return
*/ */
@AutoLog(value = "系统表白名单-批量删除") @AutoLog(value = "系统表白名单-批量删除")
@ApiOperation(value = "系统表白名单-批量删除", notes = "系统表白名单-批量删除") @Operation(summary = "系统表白名单-批量删除")
// @RequiresRoles("admin") // @RequiresRoles("admin")
@RequiresPermissions("system:tableWhite:deleteBatch") @RequiresPermissions("system:tableWhite:deleteBatch")
@DeleteMapping(value = "/deleteBatch") @DeleteMapping(value = "/deleteBatch")
@ -141,7 +140,7 @@ public class SysTableWhiteListController extends JeecgController<SysTableWhiteLi
* @return * @return
*/ */
@AutoLog(value = "系统表白名单-通过id查询") @AutoLog(value = "系统表白名单-通过id查询")
@ApiOperation(value = "系统表白名单-通过id查询", notes = "系统表白名单-通过id查询") @Operation(summary = "系统表白名单-通过id查询")
// @RequiresRoles("admin") // @RequiresRoles("admin")
@RequiresPermissions("system:tableWhite:queryById") @RequiresPermissions("system:tableWhite:queryById")
@GetMapping(value = "/queryById") @GetMapping(value = "/queryById")

View File

@ -32,7 +32,7 @@ import org.jeecg.modules.system.vo.tenant.TenantPackUserCount;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
/** /**

Some files were not shown because too many files have changed in this diff Show More