wangmeng 1 týždeň pred
rodič
commit
1afc671dad

+ 3 - 3
xdz-module-business/xdz-module-business-server/src/main/resources/application-local.yaml

@@ -95,13 +95,13 @@ spring:
       primary: master
       datasource:
         master:
-          url: jdbc:mysql://119.45.95.228:10022/xdz_business?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
+          url: jdbc:mysql://119.45.95.228:10022/xdz_crm?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
           username: root
           password: xdz@123!
-        # 社区模块数据源(社区表也在xdz_business数据库中,使用同一个数据源)
+        # 社区模块数据源(社区表也在xdz_crm数据库中,使用同一个数据源)
         slave: # 模拟从库,可根据自己需要修改
           lazy: true # 开启懒加载,保证启动速度
-          url: jdbc:mysql://119.45.95.228:10022/xdz_business?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
+          url: jdbc:mysql://119.45.95.228:10022/xdz_crm?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
           username: root
           password: xdz@123!
 

+ 1 - 1
xdz-module-business/xdz-module-business-server/src/main/resources/sql/create_oauth2_tables.sql

@@ -10,7 +10,7 @@ CREATE TABLE `system_oauth2_access_token`  (
   `user_id` bigint NOT NULL COMMENT '用户编号',
   `user_type` tinyint NOT NULL COMMENT '用户类型',
   `user_info` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户信息',
-  `access_token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '访问令牌',
+  `access_token` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '访问令牌',
   `refresh_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '刷新令牌',
   `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户端编号',
   `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '授权范围',

+ 1 - 1
xdz-module-message/xdz-module-message-server/src/main/resources/application-local.yaml

@@ -45,7 +45,7 @@ spring:
       primary: master
       datasource:
         master:
-          url: jdbc:mysql://119.45.95.228:10022/xdz_business?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
+          url: jdbc:mysql://119.45.95.228:10022/xdz_crm?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
           driver-class-name: com.mysql.cj.jdbc.Driver
           username: root
           password: xdz@123!

+ 2 - 2
xdz-module-user/xdz-module-user-server/src/main/resources/application-local.yaml

@@ -80,7 +80,7 @@ spring:
       primary: master
       datasource:
         master:
-          url: jdbc:mysql://119.45.95.228:10022/xdz_business?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
+          url: jdbc:mysql://119.45.95.228:10022/xdz_crm?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
           driver-class-name: com.mysql.cj.jdbc.Driver
           username: root
           password: xdz@123!
@@ -90,7 +90,7 @@ spring:
         #          password: SYSDBA # DM 连接的示例
         slave: # 模拟从库,可根据自己需要修改
           lazy: true # 开启懒加载,保证启动速度
-          url: jdbc:mysql://119.45.95.228:10022/xdz_business?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
+          url: jdbc:mysql://119.45.95.228:10022/xdz_crm?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
           driver-class-name: com.mysql.cj.jdbc.Driver
           username: root
           password: xdz@123!

+ 1 - 1
xdz-module-user/xdz-module-user-server/src/main/resources/sql/create_oauth2_tables_in_user_db.sql

@@ -10,7 +10,7 @@ CREATE TABLE `system_oauth2_access_token`  (
   `user_id` bigint NOT NULL COMMENT '用户编号',
   `user_type` tinyint NOT NULL COMMENT '用户类型',
   `user_info` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户信息',
-  `access_token` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '访问令牌',
+  `access_token` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '访问令牌',
   `refresh_token` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '刷新令牌',
   `client_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户端编号',
   `scopes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '授权范围',

+ 68 - 0
xdz-module-user/xdz-module-user-server/src/main/resources/sql/migrate_oauth2_access_token_length.sql

@@ -0,0 +1,68 @@
+-- ============================================
+-- 修复 OAuth2 access_token 字段长度不足的问题
+-- 问题:access_token 字段长度只有 1024,但生成的 JWT token 超过此长度
+-- 解决:将 access_token 字段长度增加到 2048
+-- ============================================
+
+-- 修改 xdz_user 数据库中的 system_oauth2_access_token 表
+USE xdz_user;
+
+-- 删除旧的索引(如果存在,使用存储过程方式兼容不同 MySQL 版本)
+SET @index_exists = (SELECT COUNT(*) FROM information_schema.statistics 
+  WHERE table_schema = 'xdz_user' 
+  AND table_name = 'system_oauth2_access_token' 
+  AND index_name = 'idx_access_token');
+
+SET @sql = IF(@index_exists > 0, 
+  'ALTER TABLE `system_oauth2_access_token` DROP INDEX `idx_access_token`', 
+  'SELECT 1');
+PREPARE stmt FROM @sql;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+
+-- 修改 access_token 字段长度
+ALTER TABLE `system_oauth2_access_token` 
+MODIFY COLUMN `access_token` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '访问令牌';
+
+-- 重新创建索引(使用前缀索引,因为字段太长)
+ALTER TABLE `system_oauth2_access_token` 
+ADD INDEX `idx_access_token`(`access_token`(255)) USING BTREE;
+
+-- ============================================
+-- 如果 xdz_business 数据库也有此表,也需要修改
+-- ============================================
+USE xdz_business;
+
+-- 检查表是否存在,如果存在则修改
+SET @table_exists = (SELECT COUNT(*) FROM information_schema.tables 
+  WHERE table_schema = 'xdz_business' 
+  AND table_name = 'system_oauth2_access_token');
+
+SET @index_exists = IF(@table_exists > 0, 
+  (SELECT COUNT(*) FROM information_schema.statistics 
+   WHERE table_schema = 'xdz_business' 
+   AND table_name = 'system_oauth2_access_token' 
+   AND index_name = 'idx_access_token'), 
+  0);
+
+SET @sql = IF(@table_exists > 0 AND @index_exists > 0, 
+  'ALTER TABLE `system_oauth2_access_token` DROP INDEX `idx_access_token`', 
+  'SELECT 1');
+PREPARE stmt FROM @sql;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+
+SET @sql = IF(@table_exists > 0, 
+  'ALTER TABLE `system_oauth2_access_token` MODIFY COLUMN `access_token` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT ''访问令牌''', 
+  'SELECT 1');
+PREPARE stmt FROM @sql;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+
+SET @sql = IF(@table_exists > 0, 
+  'ALTER TABLE `system_oauth2_access_token` ADD INDEX `idx_access_token`(`access_token`(255)) USING BTREE', 
+  'SELECT 1');
+PREPARE stmt FROM @sql;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+

+ 29 - 0
xdz-module-user/xdz-module-user-server/src/main/resources/sql/migrate_oauth2_access_token_length_simple.sql

@@ -0,0 +1,29 @@
+-- ============================================
+-- 修复 OAuth2 access_token 字段长度不足的问题
+-- 问题:access_token 字段长度只有 1024,但生成的 JWT token 超过此长度
+-- 解决:将 access_token 字段长度增加到 2048
+-- ============================================
+
+-- 修改 xdz_user 数据库中的 system_oauth2_access_token 表
+USE xdz_user;
+
+-- 修改 access_token 字段长度(先删除索引,修改字段,再重建索引)
+ALTER TABLE `system_oauth2_access_token` DROP INDEX `idx_access_token`;
+
+ALTER TABLE `system_oauth2_access_token` 
+MODIFY COLUMN `access_token` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '访问令牌';
+
+ALTER TABLE `system_oauth2_access_token` 
+ADD INDEX `idx_access_token`(`access_token`(255)) USING BTREE;
+
+-- 修改 xdz_business 数据库中的 system_oauth2_access_token 表(如果存在)
+USE xdz_business;
+
+ALTER TABLE `system_oauth2_access_token` DROP INDEX `idx_access_token`;
+
+ALTER TABLE `system_oauth2_access_token` 
+MODIFY COLUMN `access_token` varchar(2048) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '访问令牌';
+
+ALTER TABLE `system_oauth2_access_token` 
+ADD INDEX `idx_access_token`(`access_token`(255)) USING BTREE;
+

+ 1 - 1
xdz-module-vehicle/xdz-module-vehicle-server/src/main/resources/application-local.yaml

@@ -46,7 +46,7 @@ spring:
       primary: master
       datasource:
         master:
-          url: jdbc:mysql://119.45.95.228:10022/xdz_business?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
+          url: jdbc:mysql://119.45.95.228:10022/xdz_crm?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
           driver-class-name: com.mysql.cj.jdbc.Driver
           username: root
           password: xdz@123!