From c1f62bfb0d360508ee3e19f7577a759f5e2e2c58 Mon Sep 17 00:00:00 2001 From: hsdllcw Date: Thu, 26 Jun 2025 14:56:45 +0800 Subject: [PATCH 1/8] =?UTF-8?q?[feat]=20=E7=89=88=E6=9C=AC=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- pom.xml | 4 ++-- ruoyi-api/pom.xml | 2 +- ruoyi-api/ruoyi-api-system/pom.xml | 4 ++-- ruoyi-auth/pom.xml | 2 +- ruoyi-common/pom.xml | 2 +- ruoyi-common/ruoyi-common-core/pom.xml | 2 +- ruoyi-common/ruoyi-common-datascope/pom.xml | 2 +- ruoyi-common/ruoyi-common-datasource/pom.xml | 2 +- ruoyi-common/ruoyi-common-log/pom.xml | 2 +- ruoyi-common/ruoyi-common-redis/pom.xml | 2 +- ruoyi-common/ruoyi-common-seata/pom.xml | 2 +- ruoyi-common/ruoyi-common-security/pom.xml | 2 +- ruoyi-common/ruoyi-common-sensitive/pom.xml | 2 +- ruoyi-common/ruoyi-common-swagger/pom.xml | 2 +- ruoyi-gateway/pom.xml | 2 +- ruoyi-modules/pom.xml | 2 +- ruoyi-modules/ruoyi-file/pom.xml | 2 +- ruoyi-modules/ruoyi-gen/pom.xml | 2 +- ruoyi-modules/ruoyi-job/pom.xml | 2 +- ruoyi-modules/ruoyi-system/pom.xml | 2 +- ruoyi-ui/src/views/index.vue | 4 ++-- ruoyi-visual/pom.xml | 2 +- ruoyi-visual/ruoyi-monitor/pom.xml | 2 +- 24 files changed, 28 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index ca87f510e..4814ec753 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@

logo

-

RuoYi v3.6.5.0.8

+

RuoYi v3.6.5.0.9

基于 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构

- +

diff --git a/pom.xml b/pom.xml index b89229197..e07cd0ec0 100644 --- a/pom.xml +++ b/pom.xml @@ -6,14 +6,14 @@ com.ruoyi ruoyi - 3.6.5.0.8 + 3.6.5.0.9 ruoyi http://www.ruoyi.vip 若依微服务系统 - 3.6.5.0.8 + 3.6.5.0.9 UTF-8 UTF-8 1.8 diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml index a0952ae56..04ff21f4a 100644 --- a/ruoyi-api/pom.xml +++ b/ruoyi-api/pom.xml @@ -4,7 +4,7 @@ com.ruoyi ruoyi - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-api/ruoyi-api-system/pom.xml b/ruoyi-api/ruoyi-api-system/pom.xml index 07182762c..d0a42dc13 100644 --- a/ruoyi-api/ruoyi-api-system/pom.xml +++ b/ruoyi-api/ruoyi-api-system/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-api - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 @@ -25,7 +25,7 @@ com.zkjiadi zkjiadi-mall-api - 1.0.6 + 1.0.7 com.squareup.okhttp3 diff --git a/ruoyi-auth/pom.xml b/ruoyi-auth/pom.xml index 59094a488..827294415 100644 --- a/ruoyi-auth/pom.xml +++ b/ruoyi-auth/pom.xml @@ -4,7 +4,7 @@ com.ruoyi ruoyi - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index ce988cb68..34d7d3e07 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -4,7 +4,7 @@ com.ruoyi ruoyi - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-common/ruoyi-common-core/pom.xml b/ruoyi-common/ruoyi-common-core/pom.xml index 7d86a7695..4dadeb1c3 100644 --- a/ruoyi-common/ruoyi-common-core/pom.xml +++ b/ruoyi-common/ruoyi-common-core/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-common - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-common/ruoyi-common-datascope/pom.xml b/ruoyi-common/ruoyi-common-datascope/pom.xml index 417dc4ab5..9d2e3f7e7 100644 --- a/ruoyi-common/ruoyi-common-datascope/pom.xml +++ b/ruoyi-common/ruoyi-common-datascope/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-common - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-common/ruoyi-common-datasource/pom.xml b/ruoyi-common/ruoyi-common-datasource/pom.xml index 25d4eb8b1..2b473a07b 100644 --- a/ruoyi-common/ruoyi-common-datasource/pom.xml +++ b/ruoyi-common/ruoyi-common-datasource/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-common - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-common/ruoyi-common-log/pom.xml b/ruoyi-common/ruoyi-common-log/pom.xml index 7d6f7be77..2b015834a 100644 --- a/ruoyi-common/ruoyi-common-log/pom.xml +++ b/ruoyi-common/ruoyi-common-log/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-common - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-common/ruoyi-common-redis/pom.xml b/ruoyi-common/ruoyi-common-redis/pom.xml index 63de4bbae..9b5611dd8 100644 --- a/ruoyi-common/ruoyi-common-redis/pom.xml +++ b/ruoyi-common/ruoyi-common-redis/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-common - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-common/ruoyi-common-seata/pom.xml b/ruoyi-common/ruoyi-common-seata/pom.xml index 94de8affa..e4e65fcd4 100644 --- a/ruoyi-common/ruoyi-common-seata/pom.xml +++ b/ruoyi-common/ruoyi-common-seata/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-common - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-common/ruoyi-common-security/pom.xml b/ruoyi-common/ruoyi-common-security/pom.xml index 7154ec52a..b9ec03f55 100644 --- a/ruoyi-common/ruoyi-common-security/pom.xml +++ b/ruoyi-common/ruoyi-common-security/pom.xml @@ -4,7 +4,7 @@ com.ruoyi ruoyi-common - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-common/ruoyi-common-sensitive/pom.xml b/ruoyi-common/ruoyi-common-sensitive/pom.xml index 898a7c4ca..8bd4be024 100644 --- a/ruoyi-common/ruoyi-common-sensitive/pom.xml +++ b/ruoyi-common/ruoyi-common-sensitive/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-common - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-common/ruoyi-common-swagger/pom.xml b/ruoyi-common/ruoyi-common-swagger/pom.xml index f01a42810..1c1d4469e 100644 --- a/ruoyi-common/ruoyi-common-swagger/pom.xml +++ b/ruoyi-common/ruoyi-common-swagger/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-common - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml index 745feb983..439b21cdc 100644 --- a/ruoyi-gateway/pom.xml +++ b/ruoyi-gateway/pom.xml @@ -4,7 +4,7 @@ com.ruoyi ruoyi - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml index 943a768ac..edc138aa5 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -4,7 +4,7 @@ com.ruoyi ruoyi - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-modules/ruoyi-file/pom.xml b/ruoyi-modules/ruoyi-file/pom.xml index 3050adfaa..6e42fbf95 100644 --- a/ruoyi-modules/ruoyi-file/pom.xml +++ b/ruoyi-modules/ruoyi-file/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-modules - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-modules/ruoyi-gen/pom.xml b/ruoyi-modules/ruoyi-gen/pom.xml index 0c93f077b..808700eb5 100644 --- a/ruoyi-modules/ruoyi-gen/pom.xml +++ b/ruoyi-modules/ruoyi-gen/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-modules - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-modules/ruoyi-job/pom.xml b/ruoyi-modules/ruoyi-job/pom.xml index bde3ab1e5..492628f4b 100644 --- a/ruoyi-modules/ruoyi-job/pom.xml +++ b/ruoyi-modules/ruoyi-job/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-modules - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index 4cde9e928..dd9e6d39f 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -5,7 +5,7 @@ com.ruoyi ruoyi-modules - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-ui/src/views/index.vue b/ruoyi-ui/src/views/index.vue index 4b5a72a00..90d4f2ec7 100644 --- a/ruoyi-ui/src/views/index.vue +++ b/ruoyi-ui/src/views/index.vue @@ -108,7 +108,7 @@ 更新日志 - +
  1. 使用SpringDoc代替Swagger
  2. 菜单管理新增路由名称
  3. @@ -909,7 +909,7 @@ export default { data() { return { // 版本号 - version: "3.6.5.0.8", + version: "3.6.5.0.9", }; }, methods: { diff --git a/ruoyi-visual/pom.xml b/ruoyi-visual/pom.xml index 34ccb695e..4fef5d2d5 100644 --- a/ruoyi-visual/pom.xml +++ b/ruoyi-visual/pom.xml @@ -4,7 +4,7 @@ com.ruoyi ruoyi - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 diff --git a/ruoyi-visual/ruoyi-monitor/pom.xml b/ruoyi-visual/ruoyi-monitor/pom.xml index 6f490074f..43c15b65d 100644 --- a/ruoyi-visual/ruoyi-monitor/pom.xml +++ b/ruoyi-visual/ruoyi-monitor/pom.xml @@ -4,7 +4,7 @@ com.ruoyi ruoyi-visual - 3.6.5.0.8 + 3.6.5.0.9 4.0.0 From cec1d0226d6bf100098b948234c661928b46ee17 Mon Sep 17 00:00:00 2001 From: hsdllcw Date: Thu, 26 Jun 2025 15:59:17 +0800 Subject: [PATCH 2/8] =?UTF-8?q?[feat]=20ujcms-commons=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-gateway/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml index 439b21cdc..51f9fc1d6 100644 --- a/ruoyi-gateway/pom.xml +++ b/ruoyi-gateway/pom.xml @@ -84,7 +84,7 @@ com.ujcms ujcms-commons - 9.6.0 + 9.6.0.0.16 org.springframework From 14f5a1c8263bbd4e54ac92cc82b38ecec2004814 Mon Sep 17 00:00:00 2001 From: hsdllcw Date: Fri, 27 Jun 2025 10:48:47 +0800 Subject: [PATCH 3/8] =?UTF-8?q?[fix]=20=E7=BD=91=E5=85=B3=E7=9A=84ujcms-co?= =?UTF-8?q?mmons=E7=89=88=E6=9C=AC=E9=99=8D=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-gateway/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml index 51f9fc1d6..b9f6e71a6 100644 --- a/ruoyi-gateway/pom.xml +++ b/ruoyi-gateway/pom.xml @@ -84,7 +84,7 @@ com.ujcms ujcms-commons - 9.6.0.0.16 + 9.6.0.0.14 org.springframework From bfac3686be16b857a8e0c75c3daa27073b28dd3d Mon Sep 17 00:00:00 2001 From: hsdllcw Date: Fri, 27 Jun 2025 11:22:03 +0800 Subject: [PATCH 4/8] =?UTF-8?q?[fix]=20=E7=BD=91=E5=85=B3=E7=9A=84ujcms-co?= =?UTF-8?q?mmons=E7=89=88=E6=9C=AC=E9=99=8D=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-gateway/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml index b9f6e71a6..2027f7c28 100644 --- a/ruoyi-gateway/pom.xml +++ b/ruoyi-gateway/pom.xml @@ -84,7 +84,7 @@ com.ujcms ujcms-commons - 9.6.0.0.14 + 9.6.0.0.1 org.springframework From 29e848c2ab9d55dfe2202dbb2686d6f46141ad01 Mon Sep 17 00:00:00 2001 From: hsdllcw Date: Fri, 27 Jun 2025 12:01:46 +0800 Subject: [PATCH 5/8] =?UTF-8?q?[fix]=20=E5=8C=85=E5=90=8D=E8=A1=A5?= =?UTF-8?q?=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/system/KSysUserMapper.xml | 8 +++--- .../mapper/system/SysConfigMapper.xml | 10 +++---- .../resources/mapper/system/SysDeptMapper.xml | 8 +++--- .../mapper/system/SysDictDataMapper.xml | 8 +++--- .../mapper/system/SysDictTypeMapper.xml | 8 +++--- .../mapper/system/SysLogininforMapper.xml | 6 ++-- .../resources/mapper/system/SysMenuMapper.xml | 12 ++++---- .../mapper/system/SysNoticeMapper.xml | 8 +++--- .../mapper/system/SysOperLogMapper.xml | 6 ++-- .../resources/mapper/system/SysPostMapper.xml | 8 +++--- .../mapper/system/SysRoleDeptMapper.xml | 2 +- .../resources/mapper/system/SysRoleMapper.xml | 8 +++--- .../mapper/system/SysRoleMenuMapper.xml | 2 +- .../resources/mapper/system/SysUserMapper.xml | 28 +++++++++---------- .../mapper/system/SysUserPostMapper.xml | 2 +- .../mapper/system/SysUserRoleMapper.xml | 4 +-- 16 files changed, 64 insertions(+), 64 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml index 50511d346..fb8493266 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -25,7 +25,7 @@ - + @@ -44,7 +44,7 @@ - + @@ -54,7 +54,7 @@ - + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml index b4fef50d7..e3f22b4ca 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -33,12 +33,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - @@ -69,7 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where config_key = #{configKey} limit 1 - + insert into sys_config ( config_name, config_key, @@ -89,7 +89,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) - + update sys_config config_name = #{configName}, diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml index 000166edb..ec9efa390 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -27,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from sys_dept d - where d.del_flag = '0' @@ -85,7 +85,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1 - + insert into sys_dept( dept_id, parent_id, @@ -113,7 +113,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) - + update sys_dept parent_id = #{parentId}, diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml index c5e1da9d0..48f04db27 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from sys_dict_data - @@ -71,7 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + update sys_dict_data dict_sort = #{dictSort}, @@ -93,7 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update sys_dict_data set dict_type = #{newDictType} where dict_type = #{oldDictType} - + insert into sys_dict_data( dict_sort, dict_label, diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml index 554db5441..67ed9691f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from sys_dict_type - @@ -71,7 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + update sys_dict_type dict_name = #{dictName}, @@ -84,7 +84,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where dict_id = #{dictId} - + insert into sys_dict_type( dict_name, dict_type, diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml index 67a4b1c65..f40036f07 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -13,12 +13,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + insert into sys_logininfor (user_name, status, ipaddr, msg, access_time) values (#{userName}, #{status}, #{ipaddr}, #{msg}, sysdate()) - select info_id, user_name, ipaddr, status, msg, access_time from sys_logininfor diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml index e6be3aefd..8f025a133 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -33,7 +33,7 @@ from sys_menu - @@ -55,7 +55,7 @@ order by m.parent_id, m.order_num - select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.route_name, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time from sys_menu m left join sys_role_menu rm on m.menu_id = rm.menu_id @@ -128,12 +128,12 @@ select count(1) from sys_menu where parent_id = #{menuId} - where menu_name=#{menuName} and parent_id = #{parentId} limit 1 - + update sys_menu menu_name = #{menuName}, @@ -157,7 +157,7 @@ where menu_id = #{menuId} - + insert into sys_menu( menu_id, parent_id, diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml index 299080ed8..37638fb06 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -27,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where notice_id = #{noticeId} - @@ -48,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" limit 1 - + insert into sys_notice ( notice_title, notice_type, @@ -68,7 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) - + update sys_notice notice_title = #{noticeTitle}, diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml index 8d69f736a..803663e38 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -28,12 +28,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from sys_oper_log - + insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_param, json_result, status, error_msg, cost_time, oper_time) values (#{title}, #{businessType}, #{method}, #{requestMethod}, #{operatorType}, #{operName}, #{deptName}, #{operUrl}, #{operIp}, #{operParam}, #{jsonResult}, #{status}, #{errorMsg}, #{costTime}, sysdate()) - diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml index faefb2f07..bcdd06330 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from sys_post - @@ -72,7 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where post_code=#{postCode} limit 1 - + update sys_post post_code = #{postCode}, @@ -86,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where post_id = #{postId} - + insert into sys_post( post_id, post_code, diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml index 700671e15..c2815f24e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleDeptMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml index a3b780ff0..3b96e9676 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -30,7 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sys_dept d on u.dept_id = d.dept_id - where r.del_flag = '0' @@ -93,7 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where r.role_key=#{roleKey} and r.del_flag = '0' limit 1 - + insert into sys_role( role_id, role_name, @@ -121,7 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) - + update sys_role role_name = #{roleName}, diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml index e75bb1744..4cc2bef86 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index c01296d6b..eb0c9c266 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -24,12 +24,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - + + - + @@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -48,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -65,7 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sys_role r on r.role_id = ur.role_id - select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u left join sys_dept d on u.dept_id = d.dept_id where u.del_flag = '0' @@ -94,7 +94,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ${params.dataScope} - select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time from sys_user u left join sys_dept d on u.dept_id = d.dept_id @@ -111,7 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ${params.dataScope} - select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time from sys_user u left join sys_dept d on u.dept_id = d.dept_id @@ -160,7 +160,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where u.phonenumber like CONCAT(#{phoneNumber},"%") and u.del_flag = '0' - + insert into sys_user( user_id, dept_id, @@ -192,7 +192,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) - + update sys_user dept_id = #{deptId}, @@ -212,15 +212,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where user_id = #{userId} - + update sys_user set status = #{status} where user_id = #{userId} - + update sys_user set avatar = #{avatar} where user_name = #{userName} - + update sys_user set pwd_update_date = sysdate(), password = #{password} where user_name = #{userName} diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml index 21c40981b..0ff0cb91f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml index 95e07adb1..b210005d2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserRoleMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -31,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + delete from sys_user_role where user_id=#{userId} and role_id=#{roleId} From 98fc9a8df2e05d2ebf066c2932a1257f7bca641f Mon Sep 17 00:00:00 2001 From: wei Date: Mon, 30 Jun 2025 14:14:12 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=8C=85=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/system/KSysUserMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml index 50511d346..7e8bdc9b8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/KSysUserMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + From 692f6225a3caf41f30c4211c6b89ac671634e883 Mon Sep 17 00:00:00 2001 From: wei Date: Tue, 12 Aug 2025 17:49:54 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=89=93=E5=8D=A1?= =?UTF-8?q?=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-modules/ruoyi-job/pom.xml | 12 +++ .../java/com/ruoyi/job/config/SmsConfig.java | 23 ++++ .../com/ruoyi/job/domain/ScClassUserInfo.java | 78 ++++++++++++++ .../com/ruoyi/job/service/SmsService.java | 16 +++ .../job/service/impl/SmsServiceImpl.java | 35 ++++++ .../java/com/ruoyi/job/task/LiveTask.java | 34 ++++++ .../ruoyi/job/util/ProgressFormatterUtil.java | 18 ++++ .../mapper/job/ScClassUserInfoMapper.xml | 100 ++++++++++++++++++ 8 files changed, 316 insertions(+) create mode 100644 ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/config/SmsConfig.java create mode 100644 ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/domain/ScClassUserInfo.java create mode 100644 ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/SmsService.java create mode 100644 ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/impl/SmsServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/LiveTask.java create mode 100644 ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ProgressFormatterUtil.java create mode 100644 ruoyi-modules/ruoyi-job/src/main/resources/mapper/job/ScClassUserInfoMapper.xml diff --git a/ruoyi-modules/ruoyi-job/pom.xml b/ruoyi-modules/ruoyi-job/pom.xml index 492628f4b..6b5440d5b 100644 --- a/ruoyi-modules/ruoyi-job/pom.xml +++ b/ruoyi-modules/ruoyi-job/pom.xml @@ -75,6 +75,18 @@ de.codecentric spring-boot-admin-starter-client + + com.squareup.okhttp3 + okhttp + 3.12.13 + + + com.ujcms + ujcms-commons + 9.6.0.0.1 + compile + + diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/config/SmsConfig.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/config/SmsConfig.java new file mode 100644 index 000000000..9e483832d --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/config/SmsConfig.java @@ -0,0 +1,23 @@ +package com.ruoyi.job.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +/** + * 验证码配置 + * + * @author ruoyi + */ +@Data +@Configuration +@RefreshScope +@ConfigurationProperties(prefix = "security.sms.aliyuncs") +public class SmsConfig +{ + private String accessKeyId; + private String accessKeySecret; + private String signName; + private String templateCode; +} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/domain/ScClassUserInfo.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/domain/ScClassUserInfo.java new file mode 100644 index 000000000..aacd7cf74 --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/domain/ScClassUserInfo.java @@ -0,0 +1,78 @@ +package com.ruoyi.job.domain; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.ruoyi.common.core.web.domain.BaseEntity; +import com.ruoyi.job.util.ProgressFormatterUtil; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springframework.data.annotation.Id; + +import java.math.BigDecimal; + +/** + * 直播预告报名信息导出实体 + */ +@Data +@EqualsAndHashCode(callSuper = false) +public class ScClassUserInfo extends BaseEntity { + + @Id + private Long id; + + //@ExcelIgnore // 不导出该字段 + private Long userId; + + //@ExcelIgnore // 不导出该字段 + private Long classId; + + //@ColumnWidth(25) + // @ExcelProperty("名称(报名时)") + private String name; + + //@ColumnWidth(25) + //@ExcelProperty("单位") + private String firm; + + //@ColumnWidth(25) + //@ExcelProperty("专业") + private String specialized; + + //@ColumnWidth(35) + //@ExcelProperty("手机号") + private String phonenumber; + + //@ColumnWidth(35) + //@ExcelProperty("昵称") + private String nickName; + + /** + * 客户订单编号 + */ + //@ExcelProperty("客户订单编号") + private String userSn; + + //@ExcelIgnore + private Boolean todayAttendanceIs; + + @JsonIgnore + // @ExcelProperty("是否打卡") + private String attendanceIs; + + //@ExcelProperty("签到次数") + private Integer attendanceCount; + + //@ExcelIgnore + private BigDecimal progress; + + //@ExcelProperty("总学习进度") + private String progressPercent; + + public String getAttendanceIs() { + return attendanceCount.compareTo(0) > 0 ? "是" : "否"; + } + + public String getProgressPercent() { + return ProgressFormatterUtil.format(this.progress.multiply(BigDecimal.valueOf(100))); + } + +} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/SmsService.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/SmsService.java new file mode 100644 index 000000000..67a8602b1 --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/SmsService.java @@ -0,0 +1,16 @@ +package com.ruoyi.job.service; + +import com.ruoyi.common.core.exception.CaptchaException; + +/** + * 验证码处理 + * + * @author ruoyi + */ +public interface SmsService +{ + /** + * 发送学习短信通知 + */ + public void sendStudyNoticeSms(String phone) throws CaptchaException; +} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/impl/SmsServiceImpl.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/impl/SmsServiceImpl.java new file mode 100644 index 000000000..e8407555f --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/service/impl/SmsServiceImpl.java @@ -0,0 +1,35 @@ +package com.ruoyi.job.service.impl; + +import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.common.core.exception.CaptchaException; +import com.ruoyi.job.config.SmsConfig; +import com.ruoyi.job.service.SmsService; +import com.ujcms.commons.sms.AliyunUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 验证码实现处理 + * + * @author ruoyi + */ +@Service +public class SmsServiceImpl implements SmsService +{ + @Autowired + private SmsConfig smsConfig; + + /** + * 发送学习短信通知 + */ + @Override + public void sendStudyNoticeSms(String phone) throws CaptchaException { + AliyunUtils.sendSms(smsConfig.getAccessKeyId(), + smsConfig.getAccessKeySecret(), + smsConfig.getSignName(), + smsConfig.getTemplateCode(), + JSONObject.of(), + phone + ); + } +} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/LiveTask.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/LiveTask.java new file mode 100644 index 000000000..b9ffdfcf7 --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/LiveTask.java @@ -0,0 +1,34 @@ +package com.ruoyi.job.task; + +import com.ruoyi.job.config.SmsConfig; +import com.ruoyi.job.domain.ScClassUserInfo; +import com.ruoyi.job.mapper.ScClassUserInfoMapper; +import com.ruoyi.job.service.SmsService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.List; + +@Slf4j +@Component("liveTask") +public class LiveTask { + @Resource + ScClassUserInfoMapper scClassUserInfoMapper; + @Autowired + private SmsService smsAliyuncs; + + @Autowired + private SmsConfig smsConfig; + /** + * 短信打卡 + */ + public void CourseSmsNotice(){ + List list = scClassUserInfoMapper.waitNoticeCourseUser(); + list.forEach(item->{ + log.info("发送打卡提醒",item.getUserId(),item.getNickName(),item.getPhonenumber()); + smsAliyuncs.sendStudyNoticeSms(item.getPhonenumber()); + }); + } +} diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ProgressFormatterUtil.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ProgressFormatterUtil.java new file mode 100644 index 000000000..b88d4bb91 --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/util/ProgressFormatterUtil.java @@ -0,0 +1,18 @@ +package com.ruoyi.job.util; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.NumberFormat; + +public class ProgressFormatterUtil { + public static String format(BigDecimal progress ) { + if (progress == null) return "0"; + // 保留两位小数(四舍五入) + BigDecimal scaled = progress.setScale(2, RoundingMode.HALF_UP); + // 去除末尾零和小数点 + NumberFormat nf = NumberFormat.getInstance(); + nf.setMaximumFractionDigits(2); + nf.setMinimumFractionDigits(0); + return nf.format(scaled) + "%"; + } +} diff --git a/ruoyi-modules/ruoyi-job/src/main/resources/mapper/job/ScClassUserInfoMapper.xml b/ruoyi-modules/ruoyi-job/src/main/resources/mapper/job/ScClassUserInfoMapper.xml new file mode 100644 index 000000000..5e405ee42 --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/resources/mapper/job/ScClassUserInfoMapper.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + From 8f198ea261d3e9c3639ff7975f109813cef0c1f0 Mon Sep 17 00:00:00 2001 From: wei Date: Tue, 2 Sep 2025 14:08:28 +0800 Subject: [PATCH 8/8] =?UTF-8?q?token=E4=BF=AE=E6=94=B9=E5=8F=8A=E5=AE=9E?= =?UTF-8?q?=E9=AA=8C=E8=AF=BE=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/system/api/RemoteUserService.java | 6 +++ .../factory/RemoteUserFallbackFactory.java | 5 ++ .../core/constant/SecurityConstants.java | 14 ++++++ .../com/ruoyi/common/core/utils/JwtUtils.java | 7 ++- .../common/security/service/TokenService.java | 9 ++++ .../com/ruoyi/gateway/filter/AuthFilter.java | 13 +++-- .../handler/GatewayExceptionHandler.java | 1 - .../java/com/ruoyi/job/task/LiveTask.java | 6 ++- .../system/controller/SysUserController.java | 10 ++++ .../com/ruoyi/system/domain/SyncGoUser.java | 15 ++++++ .../ruoyi/system/service/ISysUserService.java | 8 ++++ .../service/impl/SysUserServiceImpl.java | 48 ++++++++++++++++++- .../inner/InnerSysUserController.kt | 4 +- 13 files changed, 137 insertions(+), 9 deletions(-) create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SyncGoUser.java diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java index e7885f5a4..14ab3c53d 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteUserService.java @@ -52,4 +52,10 @@ public interface RemoteUserService extends InnerRemoteUserService */ @PutMapping("/user/recordlogin") public R recordUserLogin(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 同步至go框架 + */ + @PostMapping("/user/syncGO") + public R syncGO(@RequestBody SysUser sysUser); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java index 88b20845a..8b92b528a 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java @@ -68,6 +68,11 @@ public class RemoteUserFallbackFactory implements FallbackFactory syncGO(SysUser sysUser) { + return R.fail("同步用户信息至GO失败:" + throwable.getMessage()); + } + @NotNull @Override public R edit_Inner(@NotNull LoginUser user, @NotNull String source) { diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java index 73cae223a..0d69def5c 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/SecurityConstants.java @@ -12,6 +12,20 @@ public class SecurityConstants */ public static final String DETAILS_USER_ID = "user_id"; + /** + * 用户ID字段 + */ + public static final String DETAILS_SUB = "sub"; + + /** + * 用户ID字段 + */ + public static final String DETAILS_IAT= "iat"; + /** + * 用户ID字段 + */ + public static final String DETAILS_EXP= "exp"; + /** * 用户名字段 */ diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java index abe93c0c0..14ea876c8 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/JwtUtils.java @@ -1,13 +1,18 @@ package com.ruoyi.common.core.utils; +import java.util.Base64; import java.util.Map; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.TokenConstants; +import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.text.Convert; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; +import javax.naming.AuthenticationException; +import javax.servlet.http.HttpServletResponse; + /** * Jwt工具类 * @@ -15,7 +20,7 @@ import io.jsonwebtoken.SignatureAlgorithm; */ public class JwtUtils { - public static String secret = TokenConstants.SECRET; + public static String secret = Base64.getEncoder().encodeToString(TokenConstants.SECRET.getBytes()) ; /** * 从数据声明生成令牌 diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java index 0a63b851e..784e63e99 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java @@ -1,9 +1,14 @@ package com.ruoyi.common.security.service; +import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; import javax.servlet.http.HttpServletRequest; + +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.impl.DefaultClaims; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -61,6 +66,10 @@ public class TokenService claimsMap.put(SecurityConstants.USER_KEY, token); claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId); claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName); + claimsMap.put(SecurityConstants.DETAILS_SUB,userId); + int now = Math.toIntExact(System.currentTimeMillis() / 1000); + claimsMap.put(SecurityConstants.DETAILS_IAT,now); + claimsMap.put(SecurityConstants.DETAILS_EXP,now+TOKEN_EXPIRE_TIME*60); // 接口返回信息 Map rspMap = new HashMap(); diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java index 51d39ef9f..e4d791851 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java @@ -44,7 +44,6 @@ public class AuthFilter implements GlobalFilter, Ordered { ServerHttpRequest request = exchange.getRequest(); ServerHttpRequest.Builder mutate = request.mutate(); - String url = request.getURI().getPath(); // 跳过不需要验证的路径 if (StringUtils.matches(url, ignoreWhite.getWhites())) @@ -56,11 +55,19 @@ public class AuthFilter implements GlobalFilter, Ordered { return unauthorizedResponse(exchange, "令牌不能为空"); } - Claims claims = JwtUtils.parseToken(token); + /*Claims claims = JwtUtils.parseToken(token); if (claims == null) { return unauthorizedResponse(exchange, "令牌已过期或验证不正确!"); - } + }*/ + Claims claims; + try{ + claims = JwtUtils.parseToken(token); + if (claims == null) + return unauthorizedResponse(exchange, "令牌已过期或验证不正确!"); + }catch (Exception e){ + return unauthorizedResponse(exchange, "令牌已过期或验证不正确!"); + } String userkey = JwtUtils.getUserKey(claims); boolean islogin = redisService.hasKey(getTokenKey(userkey)); if (!islogin) diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/handler/GatewayExceptionHandler.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/handler/GatewayExceptionHandler.java index 593e7e62a..2f017bddd 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/handler/GatewayExceptionHandler.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/handler/GatewayExceptionHandler.java @@ -34,7 +34,6 @@ public class GatewayExceptionHandler implements ErrorWebExceptionHandler } String msg; - if (ex instanceof NotFoundException) { msg = "服务未找到"; diff --git a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/LiveTask.java b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/LiveTask.java index b9ffdfcf7..25f2aa07d 100644 --- a/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/LiveTask.java +++ b/ruoyi-modules/ruoyi-job/src/main/java/com/ruoyi/job/task/LiveTask.java @@ -27,8 +27,10 @@ public class LiveTask { public void CourseSmsNotice(){ List list = scClassUserInfoMapper.waitNoticeCourseUser(); list.forEach(item->{ - log.info("发送打卡提醒",item.getUserId(),item.getNickName(),item.getPhonenumber()); - smsAliyuncs.sendStudyNoticeSms(item.getPhonenumber()); + if (item.getPhonenumber() != null && !item.getPhonenumber().trim().isEmpty()){ + log.info("发送打卡提醒 {} {} {}",item.getUserId(),item.getNickName(),item.getPhonenumber()); + smsAliyuncs.sendStudyNoticeSms(item.getPhonenumber()); + } }); } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index b26e5169e..74052636f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -166,6 +166,16 @@ public class SysUserController extends BaseController return R.ok(userService.updateUserProfile(sysUser)); } + /** + *记录用户登录IP地址和登录时间 + */ + @InnerAuth + @PutMapping("/syncGO") + public R syncGO(@RequestBody SysUser sysUser) + { + return R.ok(userService.syncGO(sysUser)); + } + /** * 获取用户信息 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SyncGoUser.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SyncGoUser.java new file mode 100644 index 000000000..d7c406e17 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SyncGoUser.java @@ -0,0 +1,15 @@ +package com.ruoyi.system.domain; + +import lombok.Data; + +@Data +public class SyncGoUser { + private Integer userId; + private String nickname; + private String username; + private String mobile; + private String lastIp; + private String remark; + private String avatar; + private Integer status; +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 8d6e2b2b4..b7190830f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -170,6 +170,14 @@ public interface ISysUserService */ public boolean updateUserProfile(SysUser user); + /** + * 同步用户基本信息 + * + * @param user 用户信息 + * @return 结果 + */ + public boolean syncGO(SysUser user); + /** * 修改用户头像 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index fa5d7c0b7..673a056ae 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -6,12 +6,17 @@ import java.util.Objects; import java.util.stream.Collectors; import javax.validation.Validator; +import cn.hutool.system.UserInfo; import com.github.pagehelper.Page; import com.ruoyi.system.api.domain.KSysUserAccount; +import com.ruoyi.system.domain.SyncGoUser; import com.ruoyi.system.service.IKSysUserService; +import org.apache.http.client.methods.HttpPost; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -35,6 +40,7 @@ import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysUserService; +import org.springframework.web.client.RestTemplate; /** * 用户 业务层处理 @@ -44,6 +50,11 @@ import com.ruoyi.system.service.ISysUserService; @Service public class SysUserServiceImpl implements ISysUserService { + @Value("${go.host}") + private String goHost; + @Value("${go.accessKey}") + private String accessKey; + private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); @Autowired @@ -73,6 +84,7 @@ public class SysUserServiceImpl implements ISysUserService @Autowired protected Validator validator; + /** * 根据条件分页查询用户列表 * @@ -308,7 +320,9 @@ public class SysUserServiceImpl implements ISysUserService @Override public boolean registerUser(SysUser user) { - return userMapper.insertUser(user) > 0; + boolean res = userMapper.insertUser(user) > 0; + this.syncGO(user); + return res; } /** @@ -335,6 +349,7 @@ public class SysUserServiceImpl implements ISysUserService kSysUserService.updateSysUserAccount(user.getSysUserAccount()); } } + this.syncGO(user); return userMapper.updateUser(user); } @@ -361,6 +376,7 @@ public class SysUserServiceImpl implements ISysUserService @Override public int updateUserStatus(SysUser user) { + this.syncGO(user); return userMapper.updateUser(user); } @@ -373,9 +389,39 @@ public class SysUserServiceImpl implements ISysUserService @Override public boolean updateUserProfile(SysUser user) { + this.syncGO(user); return userMapper.updateUser(user) > 0; } + /** + * 同步用户基本信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + public boolean syncGO(SysUser user){ + RestTemplate restTemplate = new RestTemplate(); + String url = goHost + "/api/v2/mini/user/zkSyncUser/"+accessKey; + SyncGoUser syncGoUser = new SyncGoUser(); + syncGoUser.setUserId(Math.toIntExact(user.getUserId())); + syncGoUser.setNickname(user.getNickName()); + syncGoUser.setUsername(user.getUserName()); + syncGoUser.setMobile(user.getPhonenumber()); + syncGoUser.setLastIp(user.getLoginIp()); + syncGoUser.setRemark(user.getRemark()); + syncGoUser.setAvatar(user.getAvatar()); + syncGoUser.setStatus(Objects.equals(user.getStatus(), "正常") ?0:1); + ResponseEntity response = restTemplate.postForEntity(url, syncGoUser, String.class); + // 检查响应状态码 + if (response.getStatusCode().is2xxSuccessful()) { + System.out.println("响应内容:" + response.getBody()); + } else { + System.out.println("请求失败,状态码:" + response.getStatusCode()); + } + return true; + } + /** * 修改用户头像 * diff --git a/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/controller/inner/InnerSysUserController.kt b/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/controller/inner/InnerSysUserController.kt index 18d47c165..e125fa8a7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/controller/inner/InnerSysUserController.kt +++ b/ruoyi-modules/ruoyi-system/src/main/kotlin/com/ruoyi/system/controller/inner/InnerSysUserController.kt @@ -141,7 +141,9 @@ open class InnerSysUserController : BaseController() { originUser.avatar = targetUser.avatar ?: originUser.avatar originUser.sex = targetUser.sex ?: originUser.sex originUser.updateBy = originUser.userName - originUser.sysUserAccount = loginUser.sysUser.sysUserAccount.apply { this.userId = originUser.userId } + if (loginUser.sysUser.sysUserAccount != null){ + originUser.sysUserAccount = loginUser.sysUser.sysUserAccount.apply { this.userId = originUser.userId } + } userService.updateUser(originUser) // 更新缓存用户信息 tokenService.setLoginUser(loginUser)